2016-12-24 104 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