Проверка e-mail

Des

Новичок
Проверка e-mail

Что неправильно?

eregi("^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$",$_POST['email'])

не работает для проверки адреса:
[email protected]

Где исправить?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Или тут
pcre.ru
 

Духовность™

Продвинутый новичок
ман eregi: Эта функция идентична ereg(), за исключением того, что она игнорирует различия в регистре символов алфавита.

a-zA-Z писать не имеет смысла
 

IIIEPJIOK

Новичок
а у меня работает :) шаблон в смысле, хотя пользую прег_мач
PHP:
<?php
$pattern = '/^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9\-]+\.)+([a-zA-Z]{2,4})$/';
$str = '[email protected]';
$array = array();
$result = preg_match($pattern, $str, $array);
if ($result === 0){
	echo ('фигушки');
}
if ($result === 1){
	echo('ok '.$array[0]);
}
?>
А и еще, убрал из шаблона подмаску айпи. ЧТоб проще воспринемалось
спустя пол часа асилил
знак "-" поразному в шаблонах описывать надо
([a-zA-Z0-9_\-\.]+) - было так,
а должно быть ([a-zA-Z0-9_\.]+)-*([a-zA-Z0-9_\.]+).
Уж не знаю почему, определял методом научного тыка :)
в итоге:
PHP:
<?php
$str = '[email protected]';
$array = array();
$result = eregi("^([a-zA-Z0-9_\.]+)-*([a-zA-Z0-9_\.]+)@([a-zA-Z0-9\-]+\.)([a-zA-Z]{2,4})$", $str);
if (!$result){
	echo ('фигушки');
}
if ($result){
	echo('ok ');
}
?>
 
Сверху