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. dikiyprapor50 - 02 Декабря, 2009 - 22:33:01 - перейти к сообщению
вот код:

if (preg_match("/[a-zA-Z0-9_]{2,4}/",$name()
{
echo "невреное имя";
}
else
{
echo "верное имя";
}


тут есть ошибки???
2. trot - 02 Декабря, 2009 - 22:41:57 - перейти к сообщению
Не понятно какие ошибки вы ищете.
preg_match возвращает количество найденных совпадений.
Поэтому если будет найдено совпадение, то эхо выдаст "невреное имя".
Если вы это ожидаете, то тогда правильно.
Сформулируйте, что же вы ищете.
3. dikiyprapor50 - 02 Декабря, 2009 - 22:47:50 - перейти к сообщению
сори echo местами перепутал;

форма передает скрипту строку, которая сохраняется в $name;
нада проверить чтоб ета строка содержала только буквы, цифры и нижнее подчеркивание.
правильно ли ето сделано в моем коде с учетом перемены местами двух echo ?
и еще вопрос нужно чтоб строка содержала от 2 до 4 символов,
правильно ли это сделано???
(Добавление)
походу дела нужно так:

$res=preg_match("/^[a-zA-Z0-9_]{2,4}$/",$name);
if ($res == 1 )
{
echo "верно заполнено имя";
}
else
{
echo "неврно заполнено имя";
}
4. Phantik - 03 Декабря, 2009 - 10:11:24 - перейти к сообщению
На первый взгляд вроде регулярка соответствует твоим критериям. А из-за чего вопрос возник? Что -то не так работает?

Твой вариант можно упростить немного так
/^[\w]{2,4}$/
5. trot - 03 Декабря, 2009 - 20:27:19 - перейти к сообщению
Phantik пишет:
/^[\w]{2,4}$/


В данном случае ищутся только слова, цифры и _ не мачатся.

Вариант

dikiyprapor50 пишет:
^[a-zA-Z0-9_]{2,4}$


будет находить такие имена как ____, или ___, или __, или 0000, если вас это устраивает,
тогда считайте что ваше вырежение правильное. И еще если используете якоря ^&, то необходимо указывать модификатор m.
6. dikiyprapor50 - 03 Декабря, 2009 - 23:13:24 - перейти к сообщению
большое спасиба всем ответившим Улыбка

проблема исчерпана.
7. Champion - 04 Декабря, 2009 - 08:42:23 - перейти к сообщению
trot, цифры и знак подчеркивания включены в \w и писать его в квадратных скобка не нужно.
(Добавление)
trot пишет:
И еще если используете якоря ^&, то необходимо указывать модификатор m.
Зачем?
8. Phantik - 04 Декабря, 2009 - 10:30:04 - перейти к сообщению
trot пишет:
Phantik пишет:
/^[\w]{2,4}$/


В данном случае ищутся только слова, цифры и _ не мачатся.


Вы ошибаетесь.

 

Powered by ExBB FM 1.0 RC1