RegEx - только один действительный адрес электронной почты - PullRequest
0 голосов
/ 07 декабря 2009

Я знаю, что это моя вина, и это не сложно, но я не могу найти ответ самостоятельно, поэтому я прошу вас помочь мне построить этот RegEx.

Я пытаюсь не допустить, чтобы пользователи вводили более одного адреса электронной почты построчно, поэтому я хотел бы ограничить число вхождений "@" только 1, а также проверить, что запятых нет (,) ....

Вот упрощенная версия RegEx, которую я уже использую для проверки ввода ....

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

Как я мог ввести раздел, чтобы проверить, нет ли (@,) в последней части?

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

Ответы [ 3 ]

7 голосов
/ 07 декабря 2009

Вместо использования регулярного выражения вы можете split строку в @ и подсчитать, сколько элементов имеет выходной массив.

3 голосов
/ 07 декабря 2009

Попробуйте просто добавить ^ и один $

^\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$
0 голосов
/ 07 декабря 2009

Это то, что я сейчас использую. Быстрый тест ограничил меня одним действительным письмом.

@"^(?!.*\.\.)[a-zA-Z0-9\w\._%&!'*=?^+-]*@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]*\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...