Регулярное выражение проверки адреса электронной почты - PullRequest
1 голос
/ 18 июня 2020

Итак, я хочу настроить регулярное выражение проверки адреса электронной почты со следующими ограничениями ...
ссылка: α @ β. γ

для α
1) Содержит только a-z 0-9 . - _
2) Содержит от 1 до 30 символов (включительно)
3) Не может начинаться или заканчиваться . - _
4) Не может содержать 2 последовательных символа (из . - _)

для β
1) Содержит только a-z 0-9 -
2) Содержит от 2 до 14 символов (включительно)
3) Не может начинаться или заканчиваться -
4) В нем не может быть 2 последовательных -

для γ
1) Только a-z
2) Содержит от 2 до 4 символов ( включительно)

========================================== =================================

Первые два ограничения каждого из них легко реализовать, Итак, я сделал это следующим образом:
([a-z0-9.\-_]{1,30})@([a-z0-9\-]{2,14}).([a-z]{2,4})

Может ли кто-нибудь помочь мне с (2) и (3) из α и β

1 Ответ

0 голосов
/ 18 июня 2020

Вы можете использовать

/^(?=[^@]{1,30}@)[a-z0-9]+(?:[._-][a-z0-9]+)*@(?=.{2,14}\.[a-z]+$)[a-z0-9]+(?:-[a-z0-9]+)*\.[a-z]{2,4}$/

См. демонстрацию регулярных выражений

Подробности

  • ^ - начало строки
  • (?=[^@]{1,30}@) - допускается от 1 до 30 символов перед @
  • [a-z0-9]+ - 1+ строчные буквы и цифры
  • (?:[._-][a-z0-9]+)* - 0 или более вхождений ., _ или -, за которыми следуют 1+ строчные буквы или цифры
  • @ - a @ char
  • (?=.{2,14}\.[a-z]+$) - сразу справа должно быть от 2 до 14 символов, затем . и 1+ строчных букв до конца строки
  • [a-z0-9]+(?:-[a-z0-9]+)* - 1+ строчных букв и цифр, а затем 0 или более вхождений дефис, за которым следует 1+ строчные буквы или цифры
  • \. - точка
  • [a-z]{2,4} - от двух до четырех строчных букв
  • $ - конец строки .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...