Jesteś tutaj: webmade.org >> porady >> php + mysql
autor: Mateusz Bogolubow, ostatnia modyfikacja: 2007-02-23
weryfikacja adresu e-mail
sprawdzanie poprawności adresu e-mail
PHP Aby sprawdzić poprawność adresu e-mail możemy skorzystać z dobrodziejstw wyrażeń regularnych. Funkcja weryfikująca ValidEmail()(zwraca TRUE gdy adres jest poprawny oraz FALSE gdy tak nie jest) powinna wyglądać mniej więcej tak:
function ValidEmail($email) {
if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)) {
return false;
}
return true;
}
W celu sprawdzenia jakiegoś adresu e-mail piszemy:
if (ValidEmail("kowalski@wp.pl")) echo "Poprawny adres e-mail";
else echo "Nie poprawy adres e-mail";
Niestety ta metoda nie zawsze się sprawdza. Możemy skorzystać z funkcji verifyEmail(), która pochodzi z FAQ grupy dyskusyjnej pl.comp.lang.php. Funkcja ta nie tylko sprawdza poprawność wpisanego adresu e-mail, ale również czy domena istnieje i czy posiada prawidłowy rekord MX.
function verifyEmail($email) {
$wholeexp = '/^(.+?)@(([a-z0-9\.-]+?)\.[a-z]{2,5})$/i';
$userexp = "/^[a-z0-9\~\\!\#\$\%\&\(\)\-\_\+\=\[\]\;\:\'\"\,\.\/]+$/i";
if (preg_match($wholeexp, $email, $regs)) {
$username = $regs[1];
$host = $regs[2];
if (checkdnsrr($host, MX)) {
if (preg_match($userexp, $username)) {
return true;
} else { return false; }
} else { return false; }
} else { return false; }
}
Trzeba jednak wziąć pod uwagę fakt, że funkcja checkdnsrr() nie jest zaimplementowana na platformie Windows, gdzie funkcja ta nie będzie działać poprawnie.
Mateusz Bogolubow
szukaj:
weryfikacja adresu e-mail
sprawdzanie poprawności adresu e-mail
PHP
Osoby czytające tę publikację przeglądały również:
blog
porady
artykuły
recenzje
wiadomości

© 2004-2008 copyright by webmade.org