我无法让 javascript test()
方法工作,我一直收到错误,这个正则表达式在使用 match()
函数时工作正常。
这是我的 JS:
reg="^(?:https?://)?(?:www.)?(?:youtube.com|youtu.be)(?:/)(?:watch?v=)?([^&]+)";
ytl=$('#yt').val(); //this is just an input value
if(reg.test(ytl)){
alert('works');
}
这是我不断收到的错误:
Uncaught TypeError:
Object ^(?:https?://)?(?:www.)?(?:youtube.com|youtu.be)(?:/)(?:watch?v=)?([^&]+)
has no method 'test'
有什么想法吗?
最佳答案
test
方法定义在 RegExp
上对象。试试这个:
var reg = /^(?:https?:\/\/)?(?:www.)?(?:youtube.com|youtu.be)(?:\/)(?:watch?v=)?([^&]+)/;
或者这个:
var reg = RegExp("^(?:https?://)?(?:www.)?(?:youtube.com|youtu.be)(?:/)(?:watch?v=)?([^&]+)");
关于Javascript 正则表达式测试()错误 : Object has no method 'test' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17689471/