Рецепт №49. Из книги «128 рецептов php»
Перейти к оглавлению
Для проверки корректности e-mail адреса в php нет стандартных функций, но осуществить проверку можно и другим способом. Самый простой – это составить регулярное выражение, которое и будет проверять e-mail.
Прежде чем, писать регулярное выражение, стоит определиться, какие адреса являются корректными. Каждый e-mail должен состоять из двух частей – имени пользователя и доменного имени, а роль разделителя играет @. Второй признак корректности — это то, что символы, составляющие имя пользователя и доменное имя, должны содержать только большие и маленькие латинские символы, цифры, тире, нижнее подчеркивание и точки. Третий признак: обязательное наличие домена первого уровня, это ru, com, net и тд.
Определившись с тем, какой шаблон должен быть у e-mail адреса, не сложно составить регулярное выражение:
// e-mail адрес, который будем проверять $email = "admin@test_site.com"; // Проверка e-mail адреса if(preg_match(" |^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i" , $email )){ echo "e-mail корректный"; }else{ echo "e-mail не корректный"; }
В коде была использована функция, не описанная ранее — preg_match. Она выполняет проверку на соответствие регулярному выражению.