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

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

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

 

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

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

тема: Проверка данных введенных пользователем в форму при помощи регулярных выражений
 
 автор: tAleks   (21.06.2006 в 22:32)   письмо автору
 
 

Проверяю поле "Имя".

Цель: Резрешить вводить только русские буквы.


if(preg_match("/[а-я]+/i", $_POST['name']))
{
    echo "Верно";
}
else
{
    echo "Не верно";
}


Пишу:
"Иванов" - Верно
"111111" - Не верно
"Иванов 1111" - Верно

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

И еще вопрос: Как лучше проверять данные введенные пользователем?
И как автоматизировать этот процесс если в форме много всяких разных полей?

   
 
 автор: valenok   (21.06.2006 в 22:38)   письмо автору
 
   для: tAleks   (21.06.2006 в 22:32)
 

Плюсик убери.
Есть форум регулярных выражений.

Данные проверять так: $var=mysql_escape_string($ver);
А при выводе echo htmlspecialchars($var);

Что значит автоматизировать?

   
 
 автор: kasmanaft   (21.06.2006 в 22:47)   письмо автору
 
   для: valenok   (21.06.2006 в 22:38)
 

если убрать плюсик, то будет проверяться только первый символ!
тут же я бы сделал вот так:

"/^[а-я]+$/i"

^ и $ - начало и соответственно конец строки

   
 
 автор: Саня   (21.06.2006 в 23:04)   письмо автору
 
   для: tAleks   (21.06.2006 в 22:32)
 

Что не правильно?
Нужно определить границы символами "^" и "$":
preg_match("/^[а-я]+$/i", $_POST['name']);
А вообще, вместо этого регэкспа лучше воспользоваться функцией ctype_alpha().

И еще вопрос: Как лучше проверять данные введенные пользователем?
В принципе, регулярных выражений достаточно. Но лучше пользоваться стандартными функциями типа ctype и Variable Handling Functions. И ещё неплохо бы проверить длину передаваемых данных чтобы исключить слишком длинные значения. Для имени (в форуме или гостевой, например) вполне достаточно 30 символов.

   
Rambler's Top100
вверх

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