|
|
|
| Когда на этом форуме нашёл такое выражение, проверяющее e-mail на правильность.
if (!preg_match("/^[-0-9a-z_\.]+@[-0-9a-z_\.]+\.[a-z]{2,6}$/i", $email))
{print"<script language='JavaScript'>
window.alert('Вы указали несуществующий почтовый ящик!');</script>";
exit();}
| И всё было нормально, пока не встретился адрес, типа admin@firma.com.ru
Адрес вполне ликвидный, но рег выражение его НЕ ПРОПУСКАЕТ
А ведь ещё есть адреса, типа: name.info@firma.com.ru
Кто знает Как подправить??? | |
|
|
|
|
|
|
|
для: Владимир22
(02.04.2007 в 12:49)
| | Не нужно эскейпить точку в классах символов. Она там является точкой и так.
<?
$str = 'info_mail@mail.com.ru';
if (preg_match("/^[-\w\d.]+\@[-\w\d.]+\.\w{2,6}$/", $str))
{print 'Подходит';}
else
{print 'Не подходит';}
?>
|
| |
|
|
|
|
|
|
|
для: Владимир22
(02.04.2007 в 12:49)
| | Оба адреса, которые Вы указали, соответствуют Вашему шаблону.
В нем, конечно, есть недочеты (например, подчеркивание в доменной части)
но указанные адреса он пропускает. Что-то Вы напутали. | |
|
|
|
|
|
|
|
для: Владимир22
(02.04.2007 в 12:49)
| |
if (!preg_match("/^[a-zA-Z0-9\.\-_]+?@[a-zA-Z0-9\.\-_]+?\.[a-z]{2,6}$/i", $email)) {
echo('Неверный e-mail');
}
|
| |
|
|
|