Я использую это
@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"
регулярное выражение для проверки электронной почты
([\w\.\-]+)
- это для домена первого уровня (много букв и цифр, также точки и дефисы)
([\w\-]+)
- это для домена второго уровня
((\.(\w){2,3})+)
- и это для доменов других уровней (от 3 до бесконечности), которые включают точку и 2 или 3 литералы
что не так с этим регулярным выражением?
РЕДАКТИРОВАТЬ: он не соответствует электронной почте "thing@someth.ing "
c#
regex
validation
Сергей
источник
источник
@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,})+)$""
Ответы:
TLD, такие как .museum , не сопоставляются таким образом, и есть несколько других длинных TLD. Кроме того, вы можете проверить адреса электронной почты, используя класс MailAddress, как Microsoft объясняет здесь в примечании:
Это избавит вас от головной боли, потому что вам не нужно писать (или пытаться понять чужое) регулярное выражение.
источник
Я думаю, что
@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"
должно работать.Вам нужно написать это как
Имейте в виду, что это не удастся, если:
После
@
символа есть поддомен .Вы используете TLD длиной более 3, например
.info
источник
У меня есть выражение для проверки адресов электронной почты, которые я использую.
Поскольку ни один из вышеперечисленных не был настолько коротким или точным, как мой, я подумал, что опубликую это здесь.
Для получения дополнительной информации читайте об этом здесь: C # - Регулярное выражение электронной почты
Кроме того, это проверяет достоверность RFC на основе синтаксиса электронной почты, а не на наличие электронной почты. Единственный способ проверить, действительно ли существует электронная почта, - это отправить и отправить электронное письмо, а пользователь должен подтвердить, что он получил электронную почту, щелкнув ссылку или введя токен.
Затем существуют одноразовые домены, такие как Mailinator.com и тому подобное. Это не делает ничего, чтобы проверить, является ли электронная почта от одноразового домена или нет.
источник
Я нашел хороший документ на MSDN для этого.
Как: убедиться, что строки имеют допустимый формат электронной почты http://msdn.microsoft.com/en-us/library/01escwtf.aspx (убедитесь, что этот код также поддерживает использование не-ASCII символов для имен доменов в Интернете. )
Существует две реализации: для .Net 2.0 / 3.0 и для .Net 3.5 и выше.
версия 2.0 / 3.0:
Мои тесты по этому методу дают:
источник
[me]@whatever.museum
somename@gmail.com.in.in.in
это недействительный адрес электронной почты?Следующий код основан на реализации аннотаций данных Microsoft на github, и я думаю, что это наиболее полная проверка для электронных писем:
источник
Это не соответствует всем требованиям RFC 5321 и 5322, но работает со следующими определениями.
Ниже приведен код
источник
!#$%&'*+-/=?^_
. {|} ~ @ example.com` или этоDörte@Sörensen.example.com
Лучшее регулярное выражение проверки электронной почты
И это использование: -
источник
Попробуйте это для размера:
источник
Попробуйте это, это работает для меня:
источник
Почему бы не использовать проверку электронной почты на основе атрибутов EF6?
Как вы можете видеть выше, проверка Regex для электронной почты всегда имеет некоторую дыру. Если вы используете аннотации данных EF6, вы можете легко добиться надежной и надежной проверки электронной почты с доступным для этого атрибутом аннотации данных EmailAddress . Мне пришлось удалить проверку регулярного выражения, которую я использовал ранее для электронной почты, когда я получил ошибку регулярного выражения для мобильного устройства в поле ввода электронной почты. Когда атрибут аннотации данных использовался для проверки электронной почты, проблема на мобильном телефоне была решена.
источник
Это регулярное выражение работает отлично:
источник
Этот предотвращает недействительные электронные письма, упомянутые другими в комментариях:
Это также предотвращает электронные письма с двойными точками:
Попробуйте протестировать с таким количеством недействительных адресов электронной почты, сколько сможете найти.
См проверить адрес электронной почты с помощью регулярного выражения в C # .
источник
источник
Я использую приведенный выше код для подтверждения адреса электронной почты.
источник
источник
источник
Было предпринято много попыток создать средство проверки электронной почты, которое улавливает почти все мировые требования к электронной почте.
Метод расширения, который вы можете вызвать с помощью:
Строка шаблона регулярного выражения, которую вы можете получить, вызвав:
Кодекс (в основном комментарии):
источник
Чтобы подтвердить свой идентификатор электронной почты, вы можете просто создать такой метод и использовать его.
Это вернет True / False. (Действительный / неверный идентификатор электронной почты)
источник
Это мой любимый подход к этому вопросу:
Затем используйте созданное расширение строки как:
источник
Просто дайте мне знать, если это не работает :)
источник
Вот наш Regex для этого случая:
Есть три части, которые проверяются. последний, вероятно, тот, который вам нужен. конкретный термин {2,6} обозначает минимальную / максимальную длину TLD в конце. НТН
источник
Попробуйте следующий код:
источник
STRING SEARCH с использованием метода регулярных выражений в C #
Как проверить письмо по регулярному выражению?
Использовать метод ссылки String.Regex ()
источник
1
2
источник
Я думаю, что ваша каретка и знак доллара являются частью проблемы. Вы также должны немного изменить регулярное выражение, я использую следующее @ "[:] + ([\ w .-] +) @ ([\ w -.]) + ((. (\ ш) {2,3}) +)»
источник
Regex Email Pattern:
источник
Я использую Regex.IsMatch ().
Прежде всего вам нужно добавить следующее утверждение:
Тогда метод выглядит так:
Это частный метод из-за моей логики, но вы можете поместить метод как статический в другой слой, такой как «Утилиты», и вызывать его там, где вам нужно.
источник
Там нет идеального регулярного выражения, но это довольно сильное, я думаю, на основе изучения RFC5322 . И с интерполяцией строк C #, я думаю, довольно легко следовать.
Проверено с
NUnit 2.x
.источник
Я создал класс FormValidationUtils для проверки электронной почты:
источник
Проверка электронной почты с использованием регулярных выражений
Источник: проверка электронной почты c #
Проверка без регулярного выражения с использованием конструктора класса MailAddress.MailAddress (String)
источник
me@localhost
. Пожалуйста, посмотрите на эти сайты: список TLD ; действительные / недействительные адреса ; регулярное выражение для адреса электронной почты RFC822