Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка e-mail
 
 автор: serjinio   (21.09.2008 в 19:51)   письмо автору
 
 

У кого большая база валидных майлов просьба протестировать регулярку
<?
preg_match
("/^([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}$/i"$email)

я пробовал пока нареканий нет, но у меня не много майлов
во всяком случае
test123@ftghple.com\nCc:asdf@fgcsr.ru
dfgh@hyrt.ru\n

не проходят...

  Ответить  
 
 автор: erteni   (21.09.2008 в 21:18)   письмо автору
 
   для: serjinio   (21.09.2008 в 19:51)
 

Зачем?)))

Ну если только используете древние версии РНР.

filter_var($email, FILTER_VALIDATE_EMAIL)

  Ответить  
 
 автор: serjinio   (22.09.2008 в 02:11)   письмо автору
 
   для: erteni   (21.09.2008 в 21:18)
 

Хорошо у кого PHP 5

filter_var($email, FILTER_VALIDATE_EMAIL)

В PHP 5.2.1 и 5.2.0 обнаружена возможность вставки символа новой строки через email адрес переданный в функцию отправки сообщения. Ошибка в regex выражении для проверки валидности email адреса в фильтре ext/filter (функция filter_var с параметром FILTER_VALIDATE_EMAIL), позволяет добавить дополнительные заголовки в тело письма, что может быть использовано для массовой рассылки спама через различные web-формы.

Проблема связана с отсутствием D модификатора в сочетании с символом проверки конца строки $ (если поставить \n - то выражение после \n не попадет в область видимости регулярного выражения) в PCRE выражениях используемых в ext/filter, также отмечается, что ошибка типична для большого числа скриптов в которых используется функция preg_match().

  Ответить  
 
 автор: sp10   (22.09.2008 в 15:34)   письмо автору
 
   для: serjinio   (22.09.2008 в 02:11)
 

<?php
$pattern 
'/Content-Type:|Bcc:|Cc:/i';

if (
preg_match($pattern$email))
$email'';
?>

  Ответить  
 
 автор: AcidTrash   (21.09.2008 в 21:53)   письмо автору
 
   для: serjinio   (21.09.2008 в 19:51)
 

test123@ftghple.com\nCc:asdf@fgcsr.ru
dfgh@hyrt.ru\n

не проходят...
Такие интересные адреса почты должны проходить?

  Ответить  
 
 автор: serjinio   (22.09.2008 в 02:09)   письмо автору
 
   для: AcidTrash   (21.09.2008 в 21:53)
 

Наоборот должно блокировать.....

  Ответить  
 
 автор: AcidTrash   (22.09.2008 в 21:13)   письмо автору
 
   для: serjinio   (22.09.2008 в 02:09)
 

Тогда сделаем так:
<?php 
  
if (!preg_match("/^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$/i"$email)) exit("Не правильный адрес"); 
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования