这是我的代码:
$(document).ready(function(){
var valid_url = new RegExp('http://[www\.]?youtube.com/watch\?v=[a-zA-Z0-9_-]*', '');
$('a').each(function(){
// Check if it's a valid Youtube URL
var link = $(this).attr('href');
if( valid_url.test( link ) ){
alert( "valid" );
}
});
});
但它似乎与Youtube网址无法正确匹配。我认为这是我尝试使用正则表达式匹配它的方式。我已经多种方式测试了正则表达式,它确实是正确的,但我不熟悉使用正则表达式和Javascript,所以可能使用它不正确。
感谢任何帮助,谢谢。
答案 0 :(得分:3)
在www.
周围使用括号,而不是方括号。方括号用于字符类。 [www\.]
与[w.]
相同,表示“匹配单个w
或文字.
”,而不是您想要的内容。
此外,您在正则表达式末尾的文字短划线需要进行转义。
http://(www\.)?youtube.com/watch\?v=[a-zA-Z0-9_\-]*