|
|
|
| Проверяю поле "Имя".
Цель: Резрешить вводить только русские буквы.
if(preg_match("/[а-я]+/i", $_POST['name']))
{
echo "Верно";
}
else
{
echo "Не верно";
}
|
Пишу:
"Иванов" - Верно
"111111" - Не верно
"Иванов 1111" - Верно
Что не правильно?
И еще вопрос: Как лучше проверять данные введенные пользователем?
И как автоматизировать этот процесс если в форме много всяких разных полей? | |
|
|
|
|
|
|
|
для: tAleks
(21.06.2006 в 22:32)
| | Плюсик убери.
Есть форум регулярных выражений.
Данные проверять так: $var=mysql_escape_string($ver);
А при выводе echo htmlspecialchars($var);
Что значит автоматизировать? | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 22:38)
| | если убрать плюсик, то будет проверяться только первый символ!
тут же я бы сделал вот так:
^ и $ - начало и соответственно конец строки | |
|
|
|
|
|
|
|
для: tAleks
(21.06.2006 в 22:32)
| | Что не правильно?
Нужно определить границы символами "^" и "$":
preg_match("/^[а-я]+$/i", $_POST['name']);
А вообще, вместо этого регэкспа лучше воспользоваться функцией ctype_alpha().
И еще вопрос: Как лучше проверять данные введенные пользователем?
В принципе, регулярных выражений достаточно. Но лучше пользоваться стандартными функциями типа ctype и Variable Handling Functions. И ещё неплохо бы проверить длину передаваемых данных чтобы исключить слишком длинные значения. Для имени (в форуме или гостевой, например) вполне достаточно 30 символов. | |
|
|
|