如何验证 Youtube 和 Vimeo 网址

How to validate Youtube and Vimeo URLs

我必须创建这个 fiddle,它只验证 youtube url。我还想验证具有相同输入的 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. : 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);

    }
});

您可以使用以下表达式检查 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
}