C# Jak sprawdzić czy adres e-mail jest poprawny?

12-wrz-2012

^(?(„”)(„”[^””]+?””@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&’\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$

Wiesz co to jest? – Tak masz rację. To jest wyrażenie regularne opisujące poprawny adres e-mail. Jeżeli potrzebujesz gotowej funkcji sprawdzającej adres e-mail, to skorzystaj z tego. Ale tym razem nie wyłamujmy może otwartych drzwi. Wyżej wymieniony fragment wyrażenia regularnego pochodzi ze strony MSDN, na której znajdziesz cały kod klasy weryfikującej poprawność adresu e-mail. Oto link do tej strony: http://msdn.microsoft.com/en-us/library/01escwtf.aspx Zauważ, że w górnej części tej strony znajdziesz możliwość przełączenia sie w konkretną wersję Framework.

Na forum stackoverflow znalazłem jeszcze inną metodę, ale ta powyższa sprawowała mi się po prostu lepiej. Na wszelwki wypadek podajmy i tę drugą metodę:

bool IsValidEmail(string email)
{
    try {
        var addr = new System.Net.Mail.MailAddress(email);
        return true;
    }
    catch {
        return false;
    }
}

Udajesz tutaj, że chcesz wysłać maila, przypisujesz na początku adresata maila… i ta instrukcja może sie nie powieść. Jeśli doszło do błędu, to znaczy, że adres nie był poprawny.

Komentarze są wyłączone

Autor: Rafał Kraik