В соответствии с этим article (почти в конце его), используя следующее регулярное выражение будет проверять любую электронную почту в соответствии с RFC 5322Regex для RFC электронной почты совместимом проверки
Но это не работает. Кто-нибудь может проверить, что ошибка в этом выражении, пожалуйста?
A(?=[[email protected]!#$%&'*+/=?^_`{|}~-]{6,254}\z)
(?=[a-z0-9!#$%&'*+/=?^_`{|}~-]{1,64}@)
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*
@ (?:(?=[a-z0-9-]{1,63}\.)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+
(?=[a-z0-9-]{1,63}\z)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
Я пробовал использовать regex101.com или другие тестеры, но я не могу заставить его работать.
* Причина ** Вы не должны использовать это регулярное выражение ** является то, что она является слишком широкой. * –
я бы рекомендовал использовать простое регулярное выражение, как '^ [^ @] + @ [^ @] + \. [^ @] + $ 'и отправил электронное письмо с подтверждением, чтобы обеспечить правильность адреса электронной почты. Это регулярное выражение просто проверяет, имеет ли входная строка только один символ @, по крайней мере один символ до @, до периода и после него: http: //stackoverflow.com/questions/742451/what-is-the-simplest-regular- выражение-к-Validate-писем-к-не-принимать-их-бл – Jaco