Регулярные выражения
Заранее спасибо.
1. имя хоста может содеражать ".", например [email]petka@novsu.ac.ru[/email]
2. имя пользователя может содержать "-", например [email]petka-sux@yandex.ru[/email]
3. домены первого уровня могут содержать более 4 символов, например [email]mike@british.muse[/email]um
вот то что у меня получилось:
Спасибо. С этими регулярными ни одной толковой книги или статьи найти не могу. Т.е. из твоего кода я понял, что включение таких символов как подчеркивание, дефиз (он же тире), знак доллара и т.п. выполняется посредством добавления их в код. Т.е. чтобы включит тире, подчеркивание и знак доллара надо сделать следующее [_a-zA-Z0-9-$].
Правильно?
http://perldoc.com/perl5.8.0/pod/perlretut.html
http://perldoc.com/perl5.8.0/pod/perlrequick.html
http://perldoc.com/perl5.8.0/pod/perlre.html
Ох, здается мне что страшная весчь эта пхп :)=
Кстати, в этой книге приводится регулярное выражение (объем около страницы) для проверки правильность мыла.
ReDrum, она не страшная, она ужасно прекрасная ;=)
А еще есть 450 страниц второго издания Фридла ;=)
Кстати, в этой книге приводится регулярное выражение (объем около страницы) для проверки правильность мыла.
ТОка не вижу я толку в этой проверки адреса. На самом деле что важнее правильный мыл с точки зрения синтаксиса или валидный мыл за которым существует человек.
ReDrum, она не страшная, она ужасно прекрасная ;=)
;)=
1. имя хоста может содеражать ".", например [email]petka@novsu.ac.ru[/email]
2. имя пользователя может содержать "-", например [email]petka-sux@yandex.ru[/email]
3. домены первого уровня могут содержать более 4 символов, например [email]mike@british.muse[/email]
а еще бывает что-то типа [email]bla.blabla@blablabla.bla[/email]
а еще бывает что-то типа [email]bla.blabla@blablabla.bla[/email]
А еще бывает:
"user" @ domen . ZONE
Very (Ochen) Strange @ mail. com
ТОка не вижу я толку в этой проверки адреса. На самом деле что важнее правильный мыл с точки зрения синтаксиса или валидный мыл за которым существует человек.
Проверку синтаксиса нужно осуществить хотя бы для того, чтоб внешний вызов того же sendmail не закончился плачевно. А для проверки существования адреса есть довольно простой и эффективный метод – отправление сообщения с ссылкой.
Проверку синтаксиса нужно осуществить хотя бы для того, чтоб внешний вызов того же sendmail не закончился плачевно. А для проверки существования адреса есть довольно простой и эффективный метод – отправление сообщения с ссылкой.
Это конечно хорошо, но я иногда устаю получать сообщения что письмо на адрес [email]blablabla@blablabla.bla[/email] не удалось доставить.
По этому я делаю такую проверку:
if (!eregi("^[_a-zA-Z0-9-]+@[\.a-zA-Z0-9-]+\.[a-z]{2,6}$", $Email)) return 1;
list($Username, $Domain) = split("@",$Email);
if(@getmxrr($Domain, $MXHost)) return 0;
else {
$f=@fsockopen($Domain, 25, $errno, $errstr, 30);
if($f) {
fclose($f);
return 0;
}
else return 1;
}
}
Спасибо. С этими регулярными ни одной толковой книги или статьи найти не могу.
Рискну предложить свои статьи по этой теме:
http://providerz.ru/articles/php/regexp-intro.html
http://providerz.ru/articles/php/regexp-continue.html