Re: Regex, email address validation
От: cadet354 Россия
Дата: 10.08.09 11:09
Оценка:
Здравствуйте, whatever, Вы писали:

W>Задача — проверять правильность адреса электронной почты на этапе ввода, .Net Framework 3.5.

1-ое выражение не работает т.к. \w это символ не whitespace, и русские буквы проходят, второе должно работать (но содержит ошибку аналогичную первой, исправлено жирным):
void Main()
{
    string address="dприветd@mail.ru";
    if (Regex.IsMatch(address, @"^([0-9a-zA-Z]([-\.0-9a-zA-Z]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})"))
    {
        Console.WriteLine("true");
    }
    else{
        Console.WriteLine("false");
    }
}

выводит "false".
P.S. А вообще полная проверка регексп согласно стандарту, это такой фарш на полстраницы (гугли)
... << RSDN@Home 1.2.0 alpha 4 rev. 1231>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.