javascript 用于验证 youtube 嵌入的正则表达式 url
javascript regexp for validating youtube embed url
如何在 javascript 中编写正则表达式以验证 youtube 嵌入 link?
就像我想让用户只输入 youtube embed url。我可以让正则表达式变量独立吗?我的意思是 url 具有控件、显示信息等功能。
像下面的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*
匹配零个或多个非 space 字符。
^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
如何在 javascript 中编写正则表达式以验证 youtube 嵌入 link? 就像我想让用户只输入 youtube embed url。我可以让正则表达式变量独立吗?我的意思是 url 具有控件、显示信息等功能。
像下面的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*
匹配零个或多个非 space 字符。
^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