Мне нужно регулярное выражение для использования с javascript / jquery, который соответствует этим правилам ...
- будет содержать 10 цифр
- если есть ведущий
1
или +1
, его следует игнорировать
- допустимые символы в поле: ...
0-9
, ()
и -
Я нашел регулярное выражение в Snipplr (первое), но оно не работает. Прежде всего, я даже не уверен, соответствует ли это регулярное выражение моим правилам. Во-вторых, разрешающие входные данные, такие как &^%$$#%^adfafsd
. Я считаю, что ошибка в моем коде, а не в регулярном выражении. Например, должны ли быть кавычки вокруг выражения?
Вот код, который должен проверять поле телефона ...
$('#phone').bind('blur', function() {
var pattern = new RegExp("^(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})$");
if(pattern.test($('#phone').val())){
$("#phone").addClass("error");
return false;
}else{
$("#phone").removeClass("error");
return true;
}
return true;
})