Можно создать дубликат:
What is the best regular expression for validating email addresses?Регулярное выражение для электронной почты
Я использую данное регулярное выражение для проверки электронной почты.
"^[A-Za-z0-9](([a-zA-Z0-9,=\.!\-#|\$%\^&\*\+/\?_`\{\}~]+)*)@(?:[0-9a-zA-Z-]+\.)+[a-zA-Z]{2,9}$"
Проблема, которую я имею, заключается в том, что это позволяет использовать периоды до символа «@». Можно ли изменить это выражение так, чтобы этого не произошло, но все остальные условия поддерживаются.
а. @ B.com должен быть недействительным
Заранее спасибо -Rollin
(1) Тема регулярных выражений адреса электронной почты обсуждалась около миллиона раз, и (2) Что заставляет вас думать о "." до того, как «@» не является законным? –
Вы всегда можете использовать официальное регулярное выражение RFC822: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html – ceejayoz
@ Андрей: Во-первых, RFC 5322 говорит «.». перед тем, как «@» не является законным ... http://en.wikipedia.org/wiki/E-mail_address –