Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проверка почты регуляркой (M.a_И-л.-_1@M.a_И-л.-_1)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
JSergRu
Отправлено: 22 Апреля, 2012 - 14:22:02
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  
Откуда: у тебя кАнфетка? ^^


Помог: 0 раз(а)




Пока еще не нашел ни одной регулярки в просторах интернета, которая пропустит M.a_И-л.-_1@M.a_И-л.-_1.
Почему именно такой адрес в качестве шаблона?
Уже есть: майл.рф по-русски.рф, почта.рф
Не за горами какой-нибудь Емайл.рф с предосавлением почтовых адресов, да и владельцы доменов РФ уже имеют адреса шаблона info@домен.рф, также уже испытывается http://пример.испытание/!
Итак, собственно вопрос: какой регуляркой одобрить такие адреса как:
инфо@домен2.домен1
инфо@домен2.домен1
инфо@домен-3.домен_2.домен1
I.N.ф_о-1@D_оме_n-3.Доm-ен_2.домен1

Вот моя регулярка, но она почему-то мне не очень нравится, мне кажется можно получше составить...
if (!preg_match("|^([a-zа-я0-9_\.\-]+)@([a-zа-я0-9_\.\-]+)|is", strtolower($emai)))
например:
if (!preg_match("|^([a-Zа-Я0-9\.\-]+)@([a-Zа-Я0-9\.\-]+)|is", "$emai"))
{неверно}else{верно}
PS возможно в этой теме появится первая регулярка для почтовых адресов, которая не будет вызывать нереканий даже у самых опытных программистов.
 
 Top
armancho7777777 Супермодератор
Отправлено: 22 Апреля, 2012 - 14:27:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9-_.]+)?@[a-z0-9]+(?:\.?[a-z0-9-.]+)?\.[a-z]{2,5})$/i", $email)
  3.  


Знакомая аватарка))
Случайно не Данилла?))

(Отредактировано автором: 22 Апреля, 2012 - 14:28:26)

 
 Top
JSergRu
Отправлено: 22 Апреля, 2012 - 15:22:03
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  
Откуда: у тебя кАнфетка? ^^


Помог: 0 раз(а)




armancho7777777 пишет:
preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9-_.]+)?@[a-z0-9]+(?:\.?[a-z0-9-.]+)?\.[a-z]{2,5})$/i", $email)

Опять неизвестного мне Данилу вспомнили ) надо аваторку менять.
По теме: твой скрипт не пропустит русские буковки )

мой текущая версия
if (!preg_match("^([a-Zа-Я0-9\.\-]+)@([a-Zа-Я0-9\.\-]+)", "$emai"))

(Отредактировано автором: 22 Апреля, 2012 - 16:16:42)

 
 Top
armancho7777777 Супермодератор
Отправлено: 22 Апреля, 2012 - 18:28:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




И ТЫ не знаешь как его подправить?

JSergRu пишет:
Опять неизвестного мне Данилу вспомнили ) надо аваторку менять.

Зато такой же беспардонный...

(Отредактировано автором: 22 Апреля, 2012 - 19:29:49)

 
 Top
JSergRu
Отправлено: 25 Апреля, 2012 - 21:33:04
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Апр. 2012  
Откуда: у тебя кАнфетка? ^^


Помог: 0 раз(а)




Сорь за беспардонность Растерялся меня всем разрешаю на ты. ) Обижаться не буду.
по теме: много править, почти все переписывать, много адресов не пропустит, (ИМХО мне моя версия больше нравится)

(Отредактировано автором: 25 Апреля, 2012 - 21:39:22)

 
 Top
Wol_fi
Отправлено: 06 Мая, 2012 - 16:20:37
Post Id


Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Февр. 2012  


Помог: 2 раз(а)




JSergRu пишет:
Пока еще не нашел ни одной регулярки в просторах интернета, которая пропустит M.a_И-л.-_1@M.a_И-л.-_1.
Почему именно такой адрес в качестве шаблона?
Уже есть: майл.рф по-русски.рф, почта.рф
Не за горами какой-нибудь Емайл.рф с предосавлением почтовых адресов, да и владельцы доменов РФ уже имеют адреса шаблона info@домен.рф, также уже испытывается http://пример.испытание/!
Итак, собственно вопрос: какой регуляркой одобрить такие адреса как:
инфо@домен2.домен1
инфо@домен2.домен1
инфо@домен-3.домен_2.домен1
I.N.ф_о-1@D_оме_n-3.Доm-ен_2.домен1

Вот моя регулярка, но она почему-то мне не очень нравится, мне кажется можно получше составить...
if (!preg_match("|^([a-zа-я0-9_\.\-]+)@([a-zа-я0-9_\.\-]+)|is", strtolower($emai)))
например:
if (!preg_match("|^([a-Zа-Я0-9\.\-]+)@([a-Zа-Я0-9\.\-]+)|is", "$emai"))
{неверно}else{верно}
PS возможно в этой теме появится первая регулярка для почтовых адресов, которая не будет вызывать нереканий даже у самых опытных программистов.

собственно зачем лепить костыль, когда есть filter_var()? Да и не один почтовый сервер не отправит вам письмо на адрес который содержит кирилицу в имени пользователя - по RFC не канает. А учитывая скорость обновления стандартов, в лучшем случае это появится лет через 5.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB