用于验证 YouTube 嵌入网址的 JavaScript 正则表达式

javascript regexp for validating youtube embed url

本文关键字:JavaScript 正则表达式 验证 YouTube 用于      更新时间:2023-09-26

如何在JavaScript中编写正则表达式来验证YouTube嵌入链接?就像我想允许用户只输入YouTube嵌入网址一样。我可以让正则表达式变量独立吗?我的意思是 URL 具有一些功能,例如控件、显示信息等。

喜欢以下网址是有效的

  • www.youtube.com/embed/tqJDf7IB4HI
  • www.youtube.com/embed/tqJDf7IB4HI?rel=0&controls=0

两者都有效

但是,如果 URL 具有不同的域或任何其他嵌入 URL,则无效。

function testURL(url) {
 return /www.youtube.com'/embed'/[A-z0-9]+/.test(url);
}
alert(testURL("www.youtube.com/embed/tqJDf7IB4HI?rel=0&controls=0"));

出于验证目的,我建议您使用锚点。 'S*匹配零个或多个非空格字符。

^www'.youtube'.com'/embed'/'S*$

演示

> /^www'.youtube'.com'/embed'/'S*$/.test('www.youtube.com/embed/tqJDf7IB4HI?rel=0&controls=0')
true
> /^www'.youtube'.com'/embed'/'S*$/.test('www.youtube.com/embed/tqJDf7IB4HI')
true