Проверка правильности адреса электронной почты
Пример:
<?php $expr="/^([a-zA-Z0-9])+([a-zA-Z0-9._-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9]+[a-zA-Z0-9_-]*)+$/"; $test=preg_match($expr,"user@domain.com"); //true $test=preg_match($expr,".user@domain.com"); //false $test=preg_match($expr,"user@.domain.com"); //false $test=preg_match($expr,"user@dom..ain.com");//false $test=preg_match($expr,"user@domain.com."); //false ?>
Примечание
- ([a-zA-Z0-9])+
один или больше [a-zA-Z0-9] - ([a-zA-Z0-9._-])*
ноль или больше [a-zA-Z0-9._-] - @
- ([a-zA-Z0-9_-])+
один или больше [a-zA-Z0-9] - (\.[a-zA-Z0-9]+[a-zA-Z0-9_-]*)+
повторение последовательности : точка + один или больше [a-zA-Z0-9] + ноль и больше [a-zA-Z0-9._-]
К сожалению, даже такое длинное регулярное выражение не учитывает всех возможностей правильного и неправильного написания адресов.
01.02.2007