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

123 4
NB
На сайте с 14.09.2004
Offline
95
#11

preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is',$email)

N
На сайте с 06.05.2007
Offline
419
#12

function is_valid_email($email)

{

// checks for a valid email format

return preg_match('#^[a-z0-9.!\#$%&\'*+-/=?^_`{|}~]+@([0-9.]+|([^\s\'"<>@,;]+\.+[a-z]{2,6}))$#si', $email);

}

копнуть булку означает копнуть булку.

Кнопка вызова админа ()
[Удален]
#13

!^[\w-\.]+@[\w-\.]+?\.[a-z]{2,4}$!i

Модифицируйте, как Вам надо просто и всё.

So1 добавил 06.11.2009 в 18:02

netwind:
function is_valid_email($email)
{
// checks for a valid email format
return preg_match('#^[a-z0-9.!\#$%&\'*+-/=?^_`{|}~]+@([0-9.]+|([^\s\'"<>@,;]+\.+[a-z]{2,6}))$#si', $email);
}

извращенец )

DyaDya
На сайте с 11.04.2007
Offline
147
#14
netwind:
function is_valid_email($email)
{
// checks for a valid email format
return preg_match('#^[a-z0-9.!\#$%&\'*+-/=?^_`{|}~]+@([0-9.]+|([^\s\'"<>@,;]+\.+[a-z]{2,6}))$#si', $email);
}

копнуть булку означает копнуть булку.

Может булка устаревшая? но все


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

пропускает как вилидные (.

Во, блин, и вот это тоже: someemail@mail/r.ru )))))

Выбирайте качественный хостинг (http://vashmaster.ru/informaciya/o_poleznyh_programmah/news83.php) и продвигайте сайты в СЕОПУЛЬТ (http://seopult.ru/ref.php?ref=72b5ed9561fe66a1). А на «SAPE» я в обиде :) Не упрекайте за очепятки, пишу вслепую (http://ergosolo.ru/) и также делаю сайты (http://www.vashmaster.ru/) ;)
[Удален]
#15
DyaDya:
Может булка устаревшая? но все

пропускает как вилидные (.
Во, блин, и вот это тоже: someemail@mail/r.ru )))))

А еще I#w@nt#To#Fuck#You#Dirty.bitch

DyaDya
На сайте с 11.04.2007
Offline
147
#16

Чуток поправил свой первый пример, вышло вот таке:


function is_email($email){
$p = '/^[A-Za-z0-9][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);
}

Из тестовых мыл


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

валидным признаётси только someemail@mail.zzz

По доменам проверку нужно уже отдельно делать.

[Удален]
#17
function is_email($email){
$p = '/^[A-Za-z0-9][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);
}

еще один извращенец.

BrokenBrake
На сайте с 03.03.2007
Offline
194
#18

А зачем регулярки вообще? Если у вас современная сборка PHP, рекомендую обратить внимание на функцию filter_var.

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



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

Надо еще заметить, что Буллетин подсветил someemail@mail/r.ru ;)

DyaDya
На сайте с 11.04.2007
Offline
147
#20
So1:
еще один извращенец.

Дык я ж не сам писал функцию). Просто поправил, чтобы начинаться логин мог только с [A-Za-z0-9]

Глянул (http://www.php.net/manual/en/function.filter-var.php)

filter_var

Она пропускает все, кроме someemail@mail/r.ru

Но и мой пример изначально также фильтровал someemail@mail/r.ru

Терь задумалси, а нужно ли считать $someemail@mail.ru неправильным мылом? Без спецификации не обойтись.

123 4

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