Помогите с регулярным выражением для проверки серии из n адресов электронной почты, разделенных точкой с запятой - PullRequest
0 голосов
/ 02 февраля 2010

Я использую веб-формы asp.net RegularExpressionValidator Элемент управления для проверки текстового поля, чтобы убедиться, что оно содержит серию адресов электронной почты, разделенных точками с запятой.

Какое регулярное выражение для этой задачи?

Ответы [ 2 ]

1 голос
/ 02 февраля 2010

Правильное (aka RFC2822) регулярное выражение слишком сложно. Попробуйте что-то вроде (\ S + @ [a-zA-Z0-9 -.] + (\ S *; \ s * | \ s * \ Z)) + Не идеально, но должно быть там 90% (еще не пробовал, поэтому может потребоваться какое-то изменение)

Примечание: не слишком уверен в том, что \ Z это может быть только Perl. Попробуйте также $, если он не работает.

1 голос
/ 02 февраля 2010

Я думаю, что это будет работать:

^([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}(;|$))+

Разбивка:

  • [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}: действительный адрес электронной почты (от http://www.regular -expressions.info / )
  • (;|$): точка с запятой или конец строки
  • (...)+: повторить все один или несколько раз

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

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