Помогите с проверкой email. Регулярные выражения

123 4
N0
На сайте с 12.11.2007
Offline
45
1504

Все регулярные выражения, которые мне удалось найти в сети, пропускают неправильные

мыла в виде someemail@mail/r.ru , например

У кого есть универсальное регулярное выражение?

Пластиковые окна Москва (http://vse-plastikovie-okna.ru) Стеклопакеты Москва (http://e-steklopaketi.ru)
DyaDya
На сайте с 11.04.2007
Offline
147
#1

Возможно, это не пропустит:


function is_email($email){
$p = '/^[a-z0-9!#$%&*+-=?^_`{|}~]+(\.[a-z0-9!#$%&*+-=?^_`{|}~]+)*';
$p.= '@([-a-z0-9]+\.)+([a-z]{2,3}';
$p.= '|info|arpa|aero|coop|name|museum)$/ix';
return preg_match($p, $email);
}
Выбирайте качественный хостинг (http://vashmaster.ru/informaciya/o_poleznyh_programmah/news83.php) и продвигайте сайты в СЕОПУЛЬТ (http://seopult.ru/ref.php?ref=72b5ed9561fe66a1). А на «SAPE» я в обиде :) Не упрекайте за очепятки, пишу вслепую (http://ergosolo.ru/) и также делаю сайты (http://www.vashmaster.ru/) ;)
N0
На сайте с 12.11.2007
Offline
45
#2

Нет, это тоже пропускает

[Удален]
#3
N0
На сайте с 12.11.2007
Offline
45
#4

Пропускает.

DyaDya
На сайте с 11.04.2007
Offline
147
#5
nat000:
Нет, это тоже пропускает

А вы проверяли?

--

Мне стало интересно, сам проверил, не пропускает! Так что вы - гоните!

N0
На сайте с 12.11.2007
Offline
45
#6
DyaDya:
А вы проверяли?
--
Мне стало интересно, сам проверил, не пропускает! Так что вы - гоните!

Ваша функция пропускает такие адреса (для примера):

$-%45$someemail@mail.ru

~someemail@mail.ru

$someemail@mail.ru

$-$someemail@mail.ru

someemail@mail.zzz

поэтому мне не подходит..

[Удален]
#7

nat000, я бы на вашем месте ковырнул vbulletin, если вы не заметили, то из перечилсенных вами гавномыл, форум подсветил только правильную (с точки зрения написния)

$-%45$someemail@mail.ru
~someemail@mail.ru
$someemail@mail.ru
$-$someemail@mail.ru
someemail@mail.zzz

мелочи надо замечать ;)

N0
На сайте с 12.11.2007
Offline
45
#8
bearman:
nat000, я бы на вашем месте ковырнул vbulletin, если вы не заметили, то из перечилсенных вами гавномыл, форум подсветил только правильную (с точки зрения написния)



мелочи надо замечать ;)

хорошо, последнее мыло пока оставим, позже добавлю дополнительную проверку :=)

хотелось бы найти универсальное регулярное выражение, предупреждающее разного рода инъекции, некорректный ввод и т.д.

[Удален]
#9

nat000, КОПНИТЕ булку, я думаю что оно ТАМ :)

а на домен только проверять днс запросом, не иначе))

ну или на домен 1го уровня можно конечно просто список доменов с икана взять, да их заюзать

N0
На сайте с 12.11.2007
Offline
45
#10
bearman:
nat000, КОПНИТЕ булку, я думаю что оно ТАМ :)

Спасибо, копну :)

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий