Проверка 10-значного номера телефона

Я ищу простое регулярное выражение, которое будет проверять 10-значный номер телефона. Я хотел бы убедиться, что число составляет ровно 10 цифр, никаких букв, дефис или парнеров и что первые две цифры не начинаются с 0 или 1. Может ли кто-нибудь помочь?

Ответ 1

/[2-9] {2}\d {8}/

Ответ 2

^[2-9]{2}[0-9]{8}$

Я считаю [0-9] лучше читать, чем \d, особенно учитывая предыдущие [2-9]

The ^ и $гарантируют, что входная строка состоит ТОЛЬКО из этих 8 символов - в противном случае не гарантируется, что входная строка не больше - то есть "12345678901" будет соответствовать регулярному выражению без этих двух символов - хотя это 11 символов и начинается с 1!

Ответ 3

Как отметил Рэндал, этот вопрос не согласуется с тем, как номера телефонов отформатированы в Северной Америке (хотя OP заявила, что первые две цифры не начинаются с 0 или 1). Лучшим регулярным выражением для телефонов Северной Америки будет:

^ [2-9] {1} [0-9] {9} $

Например, код района Вашингтона (202). NYC имеет код города (212). Северный Нью-Джерси имеет (201).

Но более точно, NANP имеет множество правил, поскольку это связано с тем, что разрешено в коде города и обмене (первые шесть цифр). Это регулярное выражение должно по-прежнему охватывать большинство случаев. https://en.wikipedia.org/wiki/North_American_Numbering_Plan

Ответ 4

Это регулярное выражение script может помочь. Я по существу перечеркиваю любые символы "пунктуации", включая ведущий 1-, а затем проверяет, что это 10 цифр.

Дополнительная часть, которую вам, вероятно, не нужна, - это форматирование до 000-000-0000

formatPhone = function() {
 var phone = this.value;
 phone = phone.replace(/^1(|-|\(|\)|\.| )*|-|\(|\)|\.| /g, '');
 if(phone.length === 10) {
   this.value = phone.slice(0,3) + '-' + phone.slice(3,6) + '-' + phone.slice(6,10);
 }
}

Ответ 5

Телефонные номера будут иметь 10 цифр, и он начнется с 7,8 и 9

[RegularExpression ( "^ ([07] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0- 9] [0-9] | 8 [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [ 0-9] | 9 [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9 ]) $", ErrorMessage = "Введите действительный номер мобильного телефона" )]

ссылка: http://www.regular-expressions.info/numericranges.html