Шаблон регулярного выражения для проверки номера мобильного телефона с добавочным номером

У меня есть отдельные проверки регулярных выражений для моего требования, но я не могу объединить их в одно требование. Я проверяю мобильные номера с кодом страны или начиная с 00, а также если они содержат добавочный номер (2-5 цифр), разделенный #

Ниже приведен пример действительного номера:

+919986040933
00919986040933
+919986040933#12
+919986040933#123
+919986040933#1234
+919986040933#12345

У меня есть следующее регулярное выражение для проверки выше:

var phoneRegexWithPlus = "^((\\+)|(00))[0-9]{10,14}$";
var phoneRegexWithZero = "^((\\+)|(00))[0-9]{9,12}$";
var phoneRegexExtension = "^[0-9]{2,5}$";

В настоящее время я проверяю, содержит ли число #, если да, то разделяю его и сопоставляю номер и добавочную часть отдельно, где добавление идет после хеша.

Теперь моя проблема в том, что мне нужно создать одно регулярное выражение, объединяющее три перечисленных выше. Может ли кто-нибудь помочь мне с этим, поскольку я не очень хорош в регулярном выражении. Заранее спасибо.

1 ответ

Я предлагаю это выражение:

^\+?(?:00)?\d{12}(?:#\d{2,5})?$

Посмотреть демо-версию регулярного выражения

Выражение объяснения:

  • ^ - начало строки
  • \+? - необязательный плюс (как ? соответствует + один или ноль раз)
  • (?:00)? - необязательный 00
  • \d{12} - ровно 12-значная строка
  • (?:#\d{2,5})? - необязательный (опять же, ? соответствует один или ноль раз) последовательность:
    • # - буквальный символ хеш
    • \d{2,5} - от 2 до 5 цифр (ваш phoneRegexExtension)
  • $ конец строки.

phoneRegexWithPlus а также phoneRegexWithZero покрыты первой обязательной частью \+?(?:00)?\d{12} это соответствует 12-14 цифрам с дополнительным символом плюс в начале.

ПРИМЕЧАНИЕ. Регулярное выражение настраивается в соответствии с введенным вами примером ввода. Если он отличается, пожалуйста, настройте ограничивающие квантификаторы {12} (это можно заменить, скажем, {9,14} сопоставить 9–14 вхождений количественного шаблона).

Другие вопросы по тегам