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.

Original source