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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проблема с регулярным выражением

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
dikiyprapor50
Отправлено: 02 Декабря, 2009 - 22:33:01
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




вот код:

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


тут есть ошибки???
 
 Top
trot
Отправлено: 02 Декабря, 2009 - 22:41:57
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




Не понятно какие ошибки вы ищете.
preg_match возвращает количество найденных совпадений.
Поэтому если будет найдено совпадение, то эхо выдаст "невреное имя".
Если вы это ожидаете, то тогда правильно.
Сформулируйте, что же вы ищете.
 
 Top
dikiyprapor50
Отправлено: 02 Декабря, 2009 - 22:47:50
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




сори echo местами перепутал;

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

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

(Отредактировано автором: 02 Декабря, 2009 - 23:40:01)

 
 Top
Phantik
Отправлено: 03 Декабря, 2009 - 10:11:24
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




На первый взгляд вроде регулярка соответствует твоим критериям. А из-за чего вопрос возник? Что -то не так работает?

Твой вариант можно упростить немного так
/^[\w]{2,4}$/
 
 Top
trot
Отправлено: 03 Декабря, 2009 - 20:27:19
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




Phantik пишет:
/^[\w]{2,4}$/


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

Вариант

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


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



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




большое спасиба всем ответившим Улыбка

проблема исчерпана.
 
 Top
Champion Супермодератор
Отправлено: 04 Декабря, 2009 - 08:42:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




trot, цифры и знак подчеркивания включены в \w и писать его в квадратных скобка не нужно.
(Добавление)
trot пишет:
И еще если используете якоря ^&, то необходимо указывать модификатор m.
Зачем?
 
 Top
Phantik
Отправлено: 04 Декабря, 2009 - 10:30:04
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




trot пишет:
Phantik пишет:
/^[\w]{2,4}$/


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


Вы ошибаетесь.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB