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.com|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.com|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.com|youtu.be)(?:\/)(?:watch?v=)?([^&]+)/;
Or this:
var reg = RegExp("^(?:https?://)?(?:www.)?(?:youtube.com|youtu.be)(?:/)(?:watch?v=)?([^&]+)");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With