2016-12-24 1 views
0

YouTubeのURLのみを検証するこのフィドルを作成する必要があります。私は同じ入力とvimeoのリンクを検証したい、それは可能ですか?YoutubeとVimeoのURLを検証する方法

ここは私の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の有効性を確認できます。私はURLとしてyoutu.beを使用する場合、どのよう

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

? – Roberrrt

+0

@Roberrrtあなたはelse部分を書くことができます。 – Aamerallous

+0

var a = url.match(/ http:\/\ /(:www。)?(\ w *)/)[2]; (== "ユーチューブ")であれば {// 行うもの }他 場合(== "Vimeoの") 他に{//ではない有効なURL} { – Aamerallous

関連する問題