Регулярное выражение проверки телефона - PullRequest
50 голосов
/ 26 декабря 2011

Я использую этот шаблон для проверки правильности номера телефона

^[0-9\-\+]{9,15}$

Это работает для 0771234567 и +0771234567, но я хочу, чтобы он работал на 077-1234567 и +077-1234567 и + 077-1-23-45-67 и + 077-123-45-6-7

Что я должен изменить в шаблоне?

Ответы [ 14 ]

0 голосов
/ 25 июня 2014

Это регулярное выражение соответствует любому числу с общим форматом 1- (999) -999-9999 и всем, что между ними.Кроме того, регулярное выражение допускает фигурные скобки или без фигурных скобок и разделений с period , space или dash ."^([01][- .])?(\(\d{3}\)|\d{3})[- .]?\d{3}[- .]\d{4}$"

0 голосов
/ 04 июня 2014
The following regex matches a '+' followed by n digits


    var mobileNumber = "+18005551212";
    var regex = new RegExp("^\\+[0-9]*$");
    var OK = regex.test(mobileNumber);

    if (OK) {
      console.log("is a phone number");
    } else {
      console.log("is NOT a phone number");  
    }
0 голосов
/ 08 ноября 2012
  ^[0-9\-\+]{9,15}$ 

будет соответствовать 0 + 0 + 0 + 0 + 0 + 0 или 000000000 и т. Д.

  (\-?[0-9]){7}

будет соответствовать определенному количеству цифр с необязательными дефисами в любой позиции среди них.

Что это за формат +077?

Это недопустимый формат.Никакие коды стран не начинаются с 0.

Цифры после + обычно должны быть кодом страны, длиной от 1 до 3 цифр.

Допускается "+", затем код страны CC, затем необязательный дефис, затем «0» плюс две цифры, затем дефисы и цифры для следующих семи цифр, попробуйте:

  ^\+CC\-?0[1-9][0-9](\-?[0-9]){7}$

Oh, и {3,3} является избыточным, упрощает до {3}.

0 голосов
/ 26 декабря 2011
^+?\d{3}-?\d{2}-?\d{2}-?\d{3}$

Вы можете попробовать это ...

Как насчет этого .... Надеюсь, это поможет ...

^(\\+?)\d{3,3}-?\d{2,2}-?\d{2,2}-?\d{3,3}$
...