Загрузка...

[C#] Проверка E-mail на валидность

Тема в разделе C# создана пользователем leprekonos 27 май 2017. 1421 просмотр

Загрузка...
  1. leprekonos
    leprekonos Автор темы 27 май 2017 lolzteam.net 4 23 дек 2016
    Функция, которая проверит E-mail адрес на валидность:

    Код
    using System.Text.RegularExpressions;
    public bool IsValidEmail(string email)
    {
    string pattern = @"^[-a-zA-Z0-9][-.a-zA-Z0-9]*@[-.a-zA-Z0-9]+(\.[-.a-zA-Z0-9]+)*\.
    (com|edu|info|gov|int|mil|net|org|biz|name|museum|coop|aero|pro|tv|[a-zA-Z]{2})$";

    Regex check = new Regex(pattern,RegexOptions.IgnorePatternWhitespace);
    bool valid = false;

    if (string.IsNullOrEmpty(email)) valid = false;
    else valid = check.IsMatch(email);

    return valid;
    }
     
  2. RaysMorgan
    leprekonos, очень плохая регулярка для email, все русские почты улетят в бэд.
     
  3. Hangover_inactive59523
    не улетят, последнее условие проверки домена пропустит русский
     
  4. RaysMorgan
    Hangover_inactive59523, хорошо, я не досмотрел, что насчёт доменных зон club, space, shop, xyz и так далее?
    Конечно, можно рассматривать этот паттерн для ****а, но для других задач он не годится
     
  5. Hangover_inactive59523
    Ну этой регуляркой можно дёргать нужные домены для заточек каких-нибудь, а как универнсальный валидатор емайла она не подойдёт
     
  6. RaysMorgan
    Hangover_inactive59523, я дергал домены через обычные функции str.Split(':'), str.Split('@') и сверял домены
     
  7. jamefrankofo
    Спасибо, годный скрипт
     
Top