Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Валидность email - самая дотошная регулярка 
:(
    Опции темы
SelenIT
Дата 25.4.2008, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: нет
Всего: 401



Цитата(smartov @  22.4.2008,  15:01 Найти цитируемый пост)
[a-zA-Z0-9]*([0-9a-zA-Z\-\_]+\.)*[0-9a-zA-Z]+\.

Фхтагн, а ведь теперь действительно пропустит "домен" ......1.com (я-то был уверен, что там повтор на весь фрагмент между точками стоит, даже не вчитывался)...

Вообще, ссылку на самую сабжевую регулярку дал ksnk, а самую практичную (имхо) привел source777 smile


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
smartov
Дата 25.4.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 2
Всего: 259



Цитата(SelenIT @  25.4.2008,  11:45 Найти цитируемый пост)
Фхтагн, а ведь теперь действительно пропустит "домен" ......1.com (я-то был уверен, что там повтор на весь фрагмент между точками стоит, даже не вчитывался)...

Пропустит. 

Цитата(SelenIT @  25.4.2008,  11:45 Найти цитируемый пост)
самую практичную (имхо) привел source777

ХЗ. May be. В любом случае эта более точнаяя чем от source777, если нужна будет регулярка и писать ее не надо то не все ли равно на чем делать Ctrl+C, а если сабжевая дает чуть больше контроля - то почему бы и не её smile
PM MAIL   Вверх
source777
Дата 25.4.2008, 21:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Цитата(smartov @  25.4.2008,  17:18 Найти цитируемый пост)
В любом случае эта более точнаяя чем от source777, если нужна будет регулярка и писать ее не надо то не все ли равно на чем делать Ctrl+C, а если сабжевая дает чуть больше контроля - то почему бы и не её smile 
Копировать конечно всё равно что, но вот только то, что ты возишься со своей регуляркой уже 2 дня не дало ей этих самых "чуть больше контроля", например, мыло [email protected] или [email protected] твоя регулярка считает правильными, а моя - нет... Хотя в моей регулярке также есть недочёты, но это и понятно, учитывая что я её 5 минут писал, а не 2 дня... зато получилось как говорится быстро и сердито, хотя можно её дополнить до чего-нить типа 
^([a-z0-9][a-z0-9-]*[a-z0-9]\.?)*[a-z0-9]@([a-z0-9]\.|[a-z0-9][a-z0-9-]*[a-z0-9]\.)+[a-z]{2,6}$

P.S. Степень контроля можно увеличивать до тех самых пор, пока регулярка не займёт полэкрана, тут самое главное вовремя вспомнить такое понятие как "достаточно", ведь чем длиннее регэксп, тем медленнее он будет обрабатываться...



Это сообщение отредактировал(а) source777 - 25.4.2008, 21:25


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
smartov
Дата 25.4.2008, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 2
Всего: 259



Цитата(source777 @  25.4.2008,  21:20 Найти цитируемый пост)
твоя регулярка считает правильными

Второе нет.

Цитата(source777 @  25.4.2008,  21:20 Найти цитируемый пост)
но это и понятно, учитывая что я её 5 минут писал, а не 2 дня...

Ты меня за дебила считаешь? Я 10 минут потратил


PM MAIL   Вверх
bugmenot
Дата 29.5.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 3.7.2006

Репутация: нет
Всего: 1



А ведь такой имейл тоже валидный:
[email protected]
--------------------
доска объявленийвсе о горных велосипедах 
PM MAIL WWW   Вверх
maxbrown
Дата 17.6.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 26
Регистрация: 16.6.2008
Где: Obninsk sci-city

Репутация: нет
Всего: нет



Ээ... Граждане, а может, начать стоит с описания формата e-mail адреса по RFC822?
Код

6.  ADDRESS SPECIFICATION
6.1.  SYNTAX
address     =  mailbox                      ; one addressee
            /  group                        ; named list
group       =  phrase ":" [#mailbox] ";"
mailbox     =  addr-spec                    ; simple address
            /  phrase route-addr            ; name & addr-spec
route-addr  =  "<" [route] addr-spec ">"
route       =  1#("@" domain) ":"           ; path-relative
addr-spec   =  local-part "@" domain        ; global address
local-part  =  word *("." word)             ; uninterpreted
                                            ; case-preserved
domain      =  sub-domain *("." sub-domain)
sub-domain  =  domain-ref / domain-literal
domain-ref  =  atom                         ; symbolic reference

PM MAIL WWW ICQ   Вверх
Sanchezzz
  Дата 25.6.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: нет
Всего: 60



/\w+@\w+\.\w{2,6}/







--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
nerezus
Дата 12.7.2008, 14:11 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Sanchezzz, в рот тебе ноги. После стольких страниц постить такое Г... додумался блин...
множесто нормальных рабочих мейлов такой "валидации" не выдержит.



--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
americanets
Дата 14.7.2008, 16:55 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 1
Всего: 12



filter_var + FILTER_VALIDATE_EMAIL для php  > 5.2


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
smartov
Дата 14.7.2008, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 2
Всего: 259



americanets, вротмненоги! Век живи век учись! Держи плюса.
PM MAIL   Вверх
unicross
Дата 17.1.2009, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: нет
Всего: 53



Русские буквы в адресе E-mail функция filter_var() считает допустимыми. На мой взгляд это косяк...
E-mail привет@mail.ru врядли будет существовать...
PM MAIL WWW   Вверх
theworldcreator
Дата 17.1.2009, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: нет
Всего: 13



Код

function test_mail($mail){
      if(preg_match('/[а-я]/i', $mail)) return false;
      return filter_var($mail, FILTER_VALIDATE_EMAIL);
}

То-есть это — самая дотошная проверка?
PM MAIL WWW ICQ   Вверх
unicross
Дата 17.1.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: нет
Всего: 53



theworldcreator, немного добавлю и кое-что изменю:
Код

function test_mail( $mail ) {
   if ( preg_match('/[а-яё]/i', $mail) ) return false;
   if ( filter_var($mail, FILTER_VALIDATE_EMAIL) === false ) return false;
   if ( preg_match('/\.[a-z]{2,6}$/i', $mail) ) return true;
   else return false;
}


PM MAIL WWW   Вверх
theworldcreator
Дата 18.1.2009, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: нет
Всего: 13



Спасибо. Самым большим откровением стало отсутствие ё в перечисление а-я. Причем только что проверил — range('а', 'я') тоже его не включает.
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Избранное | Следующая тема »


 




[ Время генерации скрипта: 0.1600 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.