@malayamarisha

Каким образом сделать проверку номера телефона США с помощью регулярки?

Доброго времени суток!

Необходимо проверить номер телефона США.

Какие могут быть форматы:
555-555-5555
(555)555-5555
(555) 555-5555
555 555 5555
5555555555
1 555 555 5555

Делаю:
function telephoneCheck(str) {
    let regExp = /^((1)[\-\s]?)?(\(?\d{3}\)?[\-\s]?)?[\d\-\s]{10}$/
    return regExp.test(str.replace(/\D/g, ""))
}

Пропускает:
1 555)555-5555
(6054756961)
-1 (757) 622-7382
555)-555-5555
(555-555-5555
(555)5(55?)-5555
55 55-55-555-5
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Самый простой способ - в лоб
/^(?:\d{3}-\d{3}-\d{4}|(?:1 )?\d{3} \d{3} \d{4}|\(\d{3}\) ?\d{3}-\d{4}|\d{10})$/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
REZ1DENT3
@REZ1DENT3
web-developer
Например такой
^\d?\s?\(?\d{3}\)?[\s-]{0,1}\d{3}[\s-]{0,1}\d{4}$
https://regex101.com/r/3avy6Q/1

Полностью все варианты не исключить. Вам необходимо удалять все не числа и проверять длину строки
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы