|
|
|
| Привет всем!
Подскажите, почему срабатывает первая ветвь echo "Все верно";
может я не все понимаю, но вот это условие [0-9a-z_]+ должно искать в строке только цифры и лат буквы?
$email = "som\e#body@server.ru";
$pattern = "|[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}|i";
if (preg_match($pattern, $email))
{
echo "Все верно";
}
else
{
echo "Неверный емайл";
}
|
| |
|
|
|
|
|
|
|
для: ДобрыйУхх
(01.02.2010 в 21:54)
| | Реально фигня какая-то...
Но выражение тоже неправильное :) | |
|
|
|
|
|
|
|
для: ДобрыйУхх
(01.02.2010 в 21:54)
| | должна искать в любой части строки | |
|
|
|
|
|
|
|
для: ДобрыйУхх
(01.02.2010 в 21:54)
| | Ваше выражение находит body@server.ru, поэтому срабатывает первая ветвь.
Вы пишете
>
>....но вот это условие [0-9a-z_]+ должно искать в строке только цифры и лат буквы?
>
Оно все правильно ищет. | |
|
|
|
|
|
|
|
для: ДобрыйУхх
(01.02.2010 в 21:54)
| | да-да, Спасибо, кстати, ошибка из учебника, вот поправил ниже, теперь работает)))
$pattern = "|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}|i";
|
| |
|
|
|
|
|
|
|
для: ДобрыйУхх
(02.02.2010 в 19:04)
| |
<pre><?php
$p = '#^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$#i';
$txt = array(
'john@doe.ru',
'mister@john-doe.ru',
'mr.j@doe.ru',
'_@........aa',
'_@^^^^^^^^^^^^.bb'
);
print_r( preg_grep($p, $txt) );
|
| |
|
|
|