function isOembed(url) {
var pattern = /http:\/\/(.*youtube\.com\/watch.*|.*\.youtube\.com\/v\/.*|youtu\.be\/.*|.*\.youtube\.com\/user\/.*|.*\.youtube\.com\/.*#.*\/.*|m\.youtube\.com\/watch.*|m\.youtube\.com\/index.*|.*\.youtube\.com\/profile.*/;
return pattern.test(url);
}
alert(isOembed('http://www.youtube.com/watch?v=9W8Ie4MyRX0&feature=related'));
为什么以下正则表达式什么都不产生?我在jsFiddle中试过了。
皮棉说:
Error:
Problem at line 2 character 223: Unescaped '/'.
var pattern =/http:\/\/(.*youtube\.com\/watch.*|.*\.youtube\.com\/v\/.*|y...
Implied global: alert 6
答案 0 :(得分:1)
jonnnnnnnnnie是对的,只需在正则表达式的末尾添加a),如下所示: http://jsbin.com/ufufed/2/
var pattern = /http:\/\/(.*youtube\.com\/watch.*|.*\.youtube\.com\/v\/.*|youtu\.be\/.*|.*\.youtube\.com\/user\/.*|.*\.youtube\.com\/.*#.*\/.*|m\.youtube\.com\/watch.*|m\.youtube\.com\/index.*|.*\.youtube\.com\/profile.*)/;