javascript 用于验证 youtube 嵌入的正则表达式 url

javascript regexp for validating youtube embed url

如何在 javascript 中编写正则表达式以验证 youtube 嵌入 link? 就像我想让用户只输入 youtube embed url。我可以让正则表达式变量独立吗?我的意思是 url 具有控件、显示信息等功能。

像下面的url都是有效的

两者都有效

但如果 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* 匹配零个或多个非 space 字符。

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

DEMO

> /^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