Javascript регулярное выражение для номера телефона - PullRequest
0 голосов
/ 22 февраля 2019

Я выполнил работу и написал следующее регулярное выражение:

/ ^ ([0-9.] +) $ /

Это удовлетворяет следующимусловия:

123.123.123.132
123123213123

Теперь мне нужно добавить еще одну функцию для этого регулярного выражения, чтобы он мог иметь один алфавит в номере телефона, например

123.a123.b123.123

, но не

123.aa1.bb12

Я пробовал с

/ ^ ([0-9.] + \ W {1}) $ /

Он может содержать только один алфавит между.(точка) символ.Может ли кто-нибудь помочь мне в этом !!!

Заранее спасибо !!

1 Ответ

0 голосов
/ 22 февраля 2019

В шаблоне, который вы используете ^([0-9.]+)$, используется класс символов , который будет соответствовать любому из перечисленных символов и повторяется 1+ раз, например, 123.123.123.132.

Это немного широкое совпадение и не учитывает положение совпавших символов.

Если ваши значения начинаются с 1+ цифр и необязательный az может быть сразу послеточка, вы можете использовать:

^\d+(?:\.[a-zA-Z]?\d+)*$

Объяснение

  • ^ Начало строки
  • \d+ Соответствие 1+цифры
  • (?: группа без захвата
    • \.[a-zA-Z]?\d+ Совпадение точки с дополнительными цифрами a-zA-Z и 1+
  • )* Закрыть группу и повторить 0+ раз
  • $ Конец строки

См. Демонстрационную версию regex101

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...