Здравствуйте,
выражениями нечасто пользуюсь.
Написала код для проверки введенного телефона (согласно заданию 2 варианта формата:
а) +7 123 12312345;
б) 123 12312345;)
Код:
function checkPhone(input){
var patt = /^\+7\s\d{3}\s\d{7}|^\d{3}\s\d{7}/;
var res = patt.test(input);
return res;
};
//А это тест для проверки и что должно выдавать:
checkPhone('+7 123 12312345');//true
checkPhone('123 12312345'); // true
checkPhone('123 12312345aaa'); // false
В последнем выдает ошибочно true.
Нашла оператор $ конца строки, но когда записываю:
/^\+7\s\d{3}\s\d{7}$|^\d{3}\s\d{7}$/
мой браузер мне пишет все три теста false.
Подскажите, пожалуйста, что я неправильно делаю?