Regex для действительных доменных имен - PullRequest
0 голосов
/ 11 апреля 2019

У меня возникли проблемы с созданием регулярного выражения, чтобы разрешить только допустимые доменные имена.Правила:

  • Минимум 3 символа.
  • Может иметь точки, но не может быть двух подряд.Не может быть других специальных символов
  • Может содержать буквы и цифры в нижнем и верхнем регистре
  • Между точками должен быть хотя бы один символ

Например:

Допустимое доменное имя -> bruno.cCm.pt3

Недопустимое доменное имя -> bruno..com (или) bruno.

Сейчас у меня есть это: ^.{2,253}([A-Za-z\d](-*[A-Za-z\d])*)(\.([A-Za-z\d](-*[A-Za-z\d])*))*$

1 Ответ

1 голос
/ 11 апреля 2019

Попробуйте с этим, я сделал несколько тестов, и я думаю, что это решает вашу проблему:

(?: a-z0-9?.) + [A-z0-9] [a-z0-9 -] {0,61} [a-z0-9]

Также должно помочь вам в извлечении доменных имен из более сложных строк.

Это также должноуправлять верхним / нижним регистром:

(?: a-zA-Z0-9?.) + [a-zA-Z0-9] [a-zA-Z0-9 -] {0, 61} [a-zA-Z0-9]

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