Поубивать бы за такие проверки.
Вот например абсолютно валидные адреса которые вы не пропустите:
user+test@yandex.ru
user@alfa.travel
User@email.com
user@some.domain.co.uk
Проверять стоит только наличие собачки (@) и хотя бы одной точки в домене исключительно для отлова глупых опечаток. Адрес почты проверяется отправкой туда письма с подтверждением.
Может лучше напишете какую задачу надо решить?