Если вы делаете скрипт для проверки емейлов на публичном сайте, то он может принимать некоторые неправильные емейл адреса, но обязан принимать все валидные адреса. Точная регулярка, которая принимает все правильные адреса и отсеивает неправильные, довольно сложна. Поэтому, по моему мнению, лучше только проверять в адресе емейл наличие символа "@".
В Википедии есть
статья по этой теме, где написано, что даже такой адрес:
Код:
|
"()<>[]:,;@\\\"!#$%&'*+-/=?^_`{}| ~ ? ^_`{}|~.a"@example.org |
является валидным.