2016-12-24 61 views
0

我必须创建这个只能验证YouTube网址的小提琴。我想验证同样输入的vimeo链接,有可能吗?如何验证Youtube和Vimeo网址

这是我的js代码;

function ytVidId(url) { 
    var p = /^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; 
    return (url.match(p)) ? RegExp.$1 : false; 
} 

$('#youtube').bind("change keyup input", function() { 
    var url = $(this).val(); 
    if (ytVidId(url) !== false) { 
     $("#status").html('<iframe src="https://www.youtube.com/embed/' + ytVidId(url) + '" id="videoObject" type="text/html" width="100%" height="265" frameborder="0" allowfullscreen></iframe>'); 
     $('#button').attr('disabled', false); 

    } else { 
     $("#status").html("not valid url"); 
     $('#button').attr('disabled',true); 

    } 
}); 

回答

0

您可以通过下面的表达式检查URL的有效性。

var a= url.match(/http:\/\/(:?www.)?(\w*)/)[2]; 
    if (a =="youtube") 
    { 
      // do stuff 
    } 
    else if (a =="vimeo") 
    { 
      // do stuff 
    } 
    else 
    { 
      // Not a valid url 
    } 

var a = url.match("/http:\/\/(?:www.)?(?:(vimeo).com\/(.*)|(youtube).com\/watch\?v=(.*?)&)/"); 

if (a =="youtube") 
{ 
    // do stuff 
} 
else if (a =="vimeo") 
{ 
// do stuff 
} 
else 
{ 
    // Not a valid url 
} 
+0

如果我用youtu.be的网址是什么? – Roberrrt

+0

@Roberrrt你可以写下其他部分了。 – Aamerallous

+0

var a = url.match(/ http:\/\ /(:?www。)?(\ w *)/)[2]; 如果(A == “YouTube” 的视频) {// 做的东西 } 否则,如果(A == “VIMEO”) {// 做的东西 }其他{//不是一个有效的URL} – Aamerallous