Regex | validation error
javascript, regex
Solution
You need to escape the backslashes
"telephone":{
"regex":"/^[2-9]\\d{2}-\\d{3}-\\d{4}$/",
"alertText":"* Invalid phone number"},
`/^[2-9]\d{2}-\d{3}-\d{4}$/` works only in regex literals as in
var r = /^[2-9]\d{2}-\d{3}-\d{4}$/;
When you are using strings to initialize regex, you should escape the backslashes
var r = new RegExp("^[2-9]\\d{2}-\\d{3}-\\d{4}$");
Problem
I'm trying to validate a USA mobile number, since I'm using pre-built javascript validation library I just replaced this regex validation with the previous one which comes with the validation library. previous validation regex: ``` "telephone":{ "regex":"/^[0-9\-\(\)\ ]{10,10}$/", "alertText":"* Invalid phone number"}, ``` This works like `2126661234` but not in USA standard. After I changed: ``` "telephone":{ "regex":"/^[2-9]\d{2}-\d{3}-\d{4}$/", "alertText":"* Invalid phone number"}, ``` Now every entry I get an error even if I enter `212-666-1234` I really don't know what is the wrong, so I'm expecting some help.