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
Форумы портала PHP.SU :: Версия для печати :: Проверка адреса эл.почты
Форумы портала PHP.SU » PHP » Регулярные выражения » Проверка адреса эл.почты

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

1. Mister - 04 Мая, 2009 - 13:13:41 - перейти к сообщению
Проблема такая, вот этот код рабочий и всё нормально проверяет.
PHP:
скопировать код в буфер обмена
  1. preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST["mail"])

Но он считает, что адрес вида support@dzm-k.ru введён не правильно, т.е. проблема в символе "-" в указании доменного имени. Подскажите, как исправить код, чтобы он пропускал и символ "-"?
2. Champion - 04 Мая, 2009 - 13:15:20 - перейти к сообщению
После @ в перечисление (сюда []) надо добавить символ -
(Добавление)
А то, что в конце после точки, - не нужно вообще. И точка тоже
3. Mister - 04 Мая, 2009 - 13:31:22 - перейти к сообщению
Спасибо. Заработало. Улыбка
4. chaynyk - 14 Мая, 2009 - 23:18:57 - перейти к сообщению
Да!!!
Зато, такой не проскочит.
support@dzm-k.msk.ru
Радость
5. Dekker8 - 17 Августа, 2009 - 14:14:30 - перейти к сообщению
Я так понял речь идет о корректности введенного емайл адреса. можно ж зделать проще без регулярных выражений. вот простой до безобразия код Улыбка))) причем ето лучше сделать на javascript (если надо то напишу сюда) чтобы было без отправки данных на сервер
6. Champion - 17 Августа, 2009 - 14:25:09 - перейти к сообщению
chaynyk пишет:
Отправлено: 14 Мая, 2009 - 23:18:57
Dekker8 пишет:
Отправлено: 17 Августа, 2009 - 14:14:30
Что тут сказать... 3 месяца сеё чудо разрабатывал?))
(Добавление)
Посмотрел скрипт... действительно, простой до безобразия. Я такого безобразия давно не видел.
Зачем делать так "$cahr = "@"" ? И во вторых, правильными твой скрипт назаовет например такой адрес .@@@$%#. Тебе не кажется, что это не правильно?
(Добавление)
И еще. Трехстрочные скрипты совсем не обязательно прикреплять отдельным файлом.
7. Dekker8 - 17 Августа, 2009 - 19:14:04 - перейти к сообщению
для простой проверки емайла и и так может сойти(я етот пример встречал в книге библия пользователя Javascript) ведь какой резон пользователю вводить неправильный емайл ?
(хотя может я в чемто не прав так как только учусь и помогаю чем могу и что знаю)
8. Champion - 17 Августа, 2009 - 19:19:21 - перейти к сообщению
Сравни затраты на написание такой проверки с ее надобностью и эффективностью. Несерьезно конечно, но все-таки. Даже тут можно сравнить
9. EuGen - 17 Августа, 2009 - 19:21:44 - перейти к сообщению
Dekker8 пишет:
ведь какой резон пользователю вводить неправильный емайл

Так ведь функция и должна выполнять работу по отсеву...
Dekker8 пишет:
(хотя может я в чемто не прав так как только учусь и помогаю чем могу и что знаю)

Похвально, только на будущее - стоит все же проверять код и советовать только если на 100% уверенность есть.
10. movEAX - 21 Августа, 2009 - 17:04:44 - перейти к сообщению
Dekker8 пишет:
Я так понял речь идет о корректности введенного емайл адреса. можно ж зделать проще без регулярных выражений. вот простой до безобразия код Улыбка))) причем ето лучше сделать на javascript (если надо то напишу сюда) чтобы было без отправки данных на сервер


Представленный код не корректен как и в логике, так и в безопасности! По нему легко пройдут: ####@mail, mail'@@@@@@ и т.д.
А JS использовать для проверки валидности мыла тоже глупо, ибо JS легко отключить... и соответственно обойти проверку. Единственный вариант с использованием JS это AJAX.

Dekker8 пишет:

для простой проверки емайла и и так может сойти(я етот пример встречал в книге библия пользователя Javascript) ведь какой резон пользователю вводить неправильный емайл ?
(хотя может я в чемто не прав так как только учусь и помогаю чем могу и что знаю)


Мыло нужно проверять как минимум на разрешенные символы.
11. Champion - 21 Августа, 2009 - 17:26:22 - перейти к сообщению
movEAX пишет:
Единственный вариант с использованием JS это AJAX.
Ты не представляешь, но Аякс проверку обойти не сложнее, чем ЖС. Так что любую надо дублировать на чистом пхп. Клиентская - для удобства, серверная - для безопасности.

 

Powered by ExBB FM 1.0 RC1