I am sure its something pretty small that I am missing but I haven't been able to figure it out.
I have a JavaScript variable with the regex pattern in it but I cant seem to be able to make it work with the RegEx class
the following always evaluates to false:
var value = ""; var pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" var re = new RegExp(pattern); re.test(value); but if I change it into a proper regex expression (by removing the quotes and adding the / at the start and end of the pattern), it starts working:
var value = ""; var pattern = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/ var re = new RegExp(pattern); re.test(value); since I always get the pattern as a string in a variable, I haven't been able to figure out what I am missing here.
1 Answer
Backslashes are special characters in strings that need to be escaped with another backslash:
var value = ""; var pattern = "^\\w+@[a-zA-Z_]+?\\.[a-zA-Z]{2,3}$" var re = new RegExp(pattern); re.test(value); 2