I cant get the javascript test()
method to work, I keep getting an error, this regular expression is working fine when using the match()
function.
This is my JS:
reg="^(?:https?://)?(?:www.)?(?:youtube|youtu.be)(?:/)(?:watch?v=)?([^&]+)";
ytl=$('#yt').val(); //this is just an input value
if(reg.test(ytl)){
alert('works');
}
This is the error I keep getting:
Uncaught TypeError:
Object ^(?:https?://)?(?:www.)?(?:youtube|youtu.be)(?:/)(?:watch?v=)?([^&]+)
has no method 'test'
Any ideas?
I cant get the javascript test()
method to work, I keep getting an error, this regular expression is working fine when using the match()
function.
This is my JS:
reg="^(?:https?://)?(?:www.)?(?:youtube.|youtu.be)(?:/)(?:watch?v=)?([^&]+)";
ytl=$('#yt').val(); //this is just an input value
if(reg.test(ytl)){
alert('works');
}
This is the error I keep getting:
Uncaught TypeError:
Object ^(?:https?://)?(?:www.)?(?:youtube.|youtu.be)(?:/)(?:watch?v=)?([^&]+)
has no method 'test'
Any ideas?
The test
method is defined on RegExp
objects. Try this:
var reg = /^(?:https?:\/\/)?(?:www.)?(?:youtube.|youtu.be)(?:\/)(?:watch?v=)?([^&]+)/;
Or this:
var reg = RegExp("^(?:https?://)?(?:www.)?(?:youtube.|youtu.be)(?:/)(?:watch?v=)?([^&]+)");