这就是我通常使用 javascript 检查 youtube url 有效性的方式。它工作得很好,但对于视频 ID 前面带有“-”的网址失败,例如 http://www.youtube.com/watch?v=-pIaQpwYEjY
任何可用的补救措施,因为我不熟悉正则表达式
var matches = $('#as_url').val().match(/^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$/);
if (matches) {
} else {
error +="\nInvalid Youtube Url";
}
最佳答案
将 \w+
更改为 [\w-]+
,因为 \w
字符类仅匹配 [A-Za -z0-9_]
。
Regular-Expressions.info 对 what character classes are 有很好的解释,以及lookahead feature正则表达式,您的正则表达式都使用它们。
关于javascript - 带连字符的 YouTube 网址测试器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010862/