Возможные дубликаты:
Проверка электронной почты - регулярное выражение
Какое лучшее регулярное выражение для проверки адресов электронной почты?
Привет всем,
У меня есть адрес электронной почты примерно так,
Что не работает с регулярным выражением, которое у меня есть здесь для адресов электронной почты. Кажется, что это не похоже на 4 в начале домена.
private const string MatchEmailPattern =
@"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@" +
@"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\." +
@"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|" +
@"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";
Большинство других угловых случаев хорошо работают с этим регулярным выражением, все из них отклоняются,
Assert.IsFalse(EmailValidator.IsValidEmailAddress("[email protected]"));
Assert.IsFalse(EmailValidator.IsValidEmailAddress("[email protected]"));
Assert.IsFalse(EmailValidator.IsValidEmailAddress("[email protected]"));
Assert.IsFalse(EmailValidator.IsValidEmailAddress("[email protected]"));
Assert.IsFalse(EmailValidator.IsValidEmailAddress("[email protected]"));
Assert.IsFalse(EmailValidator.IsValidEmailAddress("[email protected]"));
Assert.IsFalse(EmailValidator.IsValidEmailAddress("[email protected]"));
Assert.IsFalse(EmailValidator.IsValidEmailAddress("[email protected]"));
Assert.IsFalse(EmailValidator.IsValidEmailAddress("[email protected]"));
Любые другие регулярные выражения могут предлагать для писем, которые будут работать с указанным выше?
Кроме того, вышеупомянутое регулярное выражение имеет то преимущество, что оно работает с такими адресами, и многие из них этого не делают,