如何使用jquery检查有效的Youtube网址

kar*_*art 10 javascript jquery

在Jquery中我想单独检查来自youtube的特定网址并显示成功状态以及我想跳过的其他人将其声明为无效网址

var _videoUrl = "youtube.com/watch?v=FhnMNwiGg5M";
if (_videoUrl.contains("youtube.com"))
{
  alert('Valid'); 
} 
else
{ 
  alert('Not Valid');
} 
Run Code Online (Sandbox Code Playgroud)

如何检查包含.或任何其他选项来单独检查有效的youtube网址.

Dav*_*ing 11

我从闭包库中找到了这个,可能很方便:

/**
 * A youtube regular expression matcher. It matches the VIDEOID of URLs like
 * http://www.youtube.com/watch?v=VIDEOID.
 * @type {RegExp}
 * @private
 */
goog.ui.media.YoutubeModel.matcher_ =
    /https?:\/\/(?:[a-zA_Z]{2,3}.)?(?:youtube\.com\/watch\?)((?:[\w\d\-\_\=]+&(?:amp;)?)*v(?:<[A-Z]+>)?=([0-9a-zA-Z\-\_]+))/i;
Run Code Online (Sandbox Code Playgroud)

  • 你的短网址怎么样? (2认同)

Sov*_*iut 7

通常,大多数人想要的是youtube视频ID.要简单地匹配它,请使用以下正则表达式.

var matches = _videoUrl.match(/watch\?v=([a-zA-Z0-9\-_]+)/);
if (matches)
{
    alert('valid');
}
Run Code Online (Sandbox Code Playgroud)

当然,正则表达式可以扩展为包含整个youtube网址,但如果你需要的只是ID,这是我发现的最可靠的方法.

  • 很高兴知道,虽然我倾向于允许任何长度,因为ID长度可能会因为ID用完而改变. (4认同)