Прежде чем перейти к моему вопросу, позвольте мне предисловие к этому: у меня был строгий набор требований, которые следует соблюдать в отношении проверки адреса электронной почты. Я попытался оспаривать некоторые из них, но был отменен.Вопрос о проверке электронной почты RegEx
В любом случае, среди требований были следующие:
- Нет последовательные периодов
- специальных символов в позах 1
- Нет периодов непосредственно до или после @
- Разрешить следующие символы: +! # $% & */=? `{|} ~ '_-.
Моя попытка удовлетворить это требование прошла успешно, с одной загвоздкой. Неправильный минимум 3 символа теперь требуется из-за регулярного выражения, которое я использую для локальной части. Вот моя попытка:
(^(?!.*\\.{2})([a-zA-Z0-9{1}]+[a-zA-Z0-9\\._\\-\\+!#$%&*/=?`{|}~']+[a-zA-Z0-9{1}])[email protected]([a-zA-Z0-9{1}]+[a-zA-Z0-9\\-]+[a-zA-Z0-9{1}]+\\.)+([a-zA-Z0-9\\-]{2}|net|com|gov|mil|org|edu|int|NET|COM|GOV|MIL|ORG|EDU|INT)$)|^$
Я понимаю, почему это происходит, я просто не знаю, как обойти это. Будем очень благодарны любой помощи.
Отредактировано: После долгих обсуждений выяснилось, что мои проблемы не были специфическими для локальной части адреса электронной почты. Часть домена также страдает от одних и тех же проблем.
Спасибо, Seb
Спасибо всем, кто внес свой вклад в решении моей проблемы. :) – Seb