Youtube url测试仪用连字符

时间:2010-10-24 22:45:27

标签: javascript regex youtube

这是我通常使用javascript检查youtube网址有效性的方式。它工作得很好,但在视频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";
}

1 个答案:

答案 0 :(得分:4)

\w+更改为[\w-]+,因为\w字符类仅匹配[A-Za-z0-9_]

Regular-Expressions.info对what character classes are以及正则表达式的lookahead feature有很好的解释,这两者都是你的正则表达式所使用的。