Javascript regex test() error: Object has no method 'test'
javascript, jquery, regex, testing
Solution
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=)?([^&]+)");
Problem
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?