Я знаю, что здесь много вопросов о проверке подлинности электронной почты и конкретных RegEx. Я хотел бы знать, что лучше всего подходит для проверки электронной почты в отношении наличия трюка [email protected]
(details here). Мой текущий RegExp для проверки JavaScript заключается в следующем, но он не поддерживает дополнительные +
в ручке:Рекомендации по проверке адресов электронной почты (включая + в адресах gmail)
/^([a-zA-Z0-9_.-])[email protected](([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/
Существуют ли какие-либо другие услуги, которые поддерживают дополнительные +
? Должен ли я разрешать +
в адресе, или я должен изменить RegEx, чтобы разрешить его только для электронной почты с gmail.com
или googlemail.com
в качестве домена? Если да, то что изменит RegEx?
UPDATE: Спасибо всем за указание на то, что +
действует согласно спецификации. Я этого не знал и теперь делаю в будущем. Для тех из вас, кто сказал, что его плохо даже использовать RegEx для его проверки, моя причина полностью основана на творческом дизайне, который я создаю. Дизайн нашего клиента помещает зеленую метку или красный X рядом с адресом электронной почты, на котором он размывается. Этот значок указывает, действительно ли он действительный адрес электронной почты, поэтому я должен использовать JS для его проверки.
Это вряд ли трюк, когда он является частью стандарта электронной почты. – tloach
Не используйте RegEx для проверки электронной почты, кроме обнаружения явных ошибок. Просто отправьте пользователю электронное сообщение с ссылкой «активация». Для проверки электронной почты нет регулярных выражений foolproog. По крайней мере, ни один из них не подходит к листу бумаги формата А4, даже если он напечатан в крошечном, но читаемом шрифте ;-) (http://www.regular-expressions.info/email.html) – Duroth
@tloach. Я считаю это хитростью если не все службы электронной почты поддерживают его таким образом, что отправляют электронное письмо в первую часть дескриптора перед '+' независимо от части после '+' - я даже не подозревал, что это часть стандарта. –