Проверка правильности номера телефона в Regex US

106
12

Я нашел это javascript regex, чтобы проверить формат, который могут быть записаны в телефонных номерах США. Но у него есть проблема: он не соответствует второму правилу в этой группе:

Первая группа из трех цифр, известная как код зоны, начинается с номера 2-9, затем 0-8, а затем любая третья цифра.

Он принимает 9, тогда как он должен принимать только числа из (0-8). Это регулярное выражение показывает все: http://regexr.com/3ackc

/^(1[- .]?)?(\([2-9]\d{2}\)[. -]?|[2-9]\d{2}[. -]?)[2-9]\d{2}[- .]?\d{4}$/gm

спросил(а) 2021-01-19T17:19:28+03:00 2 месяца, 3 недели назад
1
Решение
96

Я не полностью осознал обозначение и точные ограничения номеров телефонов в США, поэтому я упомянул Википедию и придумал следующее:

/^[2-9][0-8]\d\-?[2-9]([02-9]{2}|[02-9]\d||\d[02-9])\-?\d{4}$/g

Matches in Regexhelper

ответил(а) 2021-01-19T17:19:28+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема