[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрет символов и пробелов
dmitriy2294
Как при регистрации запретить ввод определенных символов в поля? Чтобы данные выглядели православно, без всяких !@#$%^&♀†ž ? Или напротив разрешить только буквы и цифры?



Спустя 14 минут, 40 секунд (11.10.2012 - 19:08) n58oo написал(а):
<?php
if (preg_match("/[^a-z,A-Z,0-9,а-я,А-Я,\-,\_]/", $user_name))
{
echo "ошибка, недопустимые символы";
exit;
}

Спустя 10 минут, 25 секунд (11.10.2012 - 19:18) dmitriy2294 написал(а):
Благодарю!) Ещё вопросик, при использовании данной конструкции отпадает надобность использования stripslashes(), htmlspecialchars() и trim()?

Спустя 19 минут, 40 секунд (11.10.2012 - 19:38) killer8080 написал(а):
Цитата (dmitriy2294 @ 11.10.2012 - 18:53)
Чтобы данные выглядели православно,

А что у данных могут быть свои религиозные взгляды? biggrin.gif

Спустя 4 минуты, 3 секунды (11.10.2012 - 19:42) dmitriy2294 написал(а):
Цитата (killer8080 @ 11.10.2012 - 19:38)
Цитата (dmitriy2294 @ 11.10.2012 - 18:53)
Чтобы данные выглядели православно,

А что у данных могут быть свои религиозные взгляды? biggrin.gif

Ты понял о чем я =)

Спустя 5 минут, 5 секунд (11.10.2012 - 19:47) Игорь_Vasinsky написал(а):
для православности разреши + wink.gif тогда всё будет сразу понятно biggrin.gif

Спустя 4 минуты, 20 секунд (11.10.2012 - 19:52) dmitriy2294 написал(а):
Цитата (Игорь_Vasinsky @ 11.10.2012 - 19:47)
для православности разреши + wink.gif тогда всё будет сразу понятно biggrin.gif

Тонко, тонко) Так что с теми функциями, которые я выше указал?

Спустя 3 минуты, 18 секунд (11.10.2012 - 19:55) killer8080 написал(а):
Цитата (n58oo @ 11.10.2012 - 19:08)
if (preg_match("/[^a-z,A-Z,0-9,а-я,А-Я,\-,\_]/", $user_name))
{

Запятые там лишние, и символ _ и дефис экранировать не надо, дефис экранируется только если находится в середине символьного класса. К тому же пропустил букву ё, перечислять отдельно сторчные и прописные буквы то же не рационально, для этого есть модификатор i.

Спустя 18 секунд (11.10.2012 - 19:55) Игорь_Vasinsky написал(а):
если ты о стрипслеше и прочем - то абсолютно не зачем, т.к. паттерн в preg_match - пропустит только то что ты указал.

Спустя 1 минута, 59 секунд (11.10.2012 - 19:57) dmitriy2294 написал(а):
Цитата (Игорь_Vasinsky @ 11.10.2012 - 19:55)
если ты о стрипслеше и прочем - то абсолютно не зачем, т.к. паттерн в preg_match - пропустит только то что ты указал.

Ну извиняюсь, просто учился писать регистрацию по методу Евгения Попова :D


$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
$login = trim($login);
$password = trim($password);

Спустя 22 секунды (11.10.2012 - 19:58) killer8080 написал(а):
Цитата (dmitriy2294 @ 11.10.2012 - 18:53)
Или напротив разрешить только буквы и цифры?

регулярка будет такая
"#^[a-zа-яё\d]+$#i"

Спустя 2 минуты, 54 секунды (11.10.2012 - 20:00) dmitriy2294 написал(а):
Цитата (killer8080 @ 11.10.2012 - 19:55)
Цитата (n58oo @ 11.10.2012 - 19:08)
if (preg_match("/[^a-z,A-Z,0-9,а-я,А-Я,\-,\_]/", $user_name))
{

Запятые там лишние, и символ _ и дефис экранировать не надо, дефис экранируется только если находится в середине символьного класса. К тому же пропустил букву ё, перечислять отдельно сторчные и прописные буквы то же не рационально, для этого есть модификатор i.

А можно правильный паттерн в студию?

"#^[a-zа-яё\d]+$#i" не совсем подойдет, можно исправленную версию "/[^a-z,A-Z,0-9,а-я,А-Я,\-,\_]/" ? happy.gif

Спустя 4 минуты, 18 секунд (11.10.2012 - 20:05) Игорь_Vasinsky написал(а):
#^[-а-яё0-9]+$#i

Спустя 53 секунды (11.10.2012 - 20:06) killer8080 написал(а):
Цитата (dmitriy2294 @ 11.10.2012 - 20:00)
можно исправленную версию "/[^a-z,A-Z,0-9,а-я,А-Я,\-,\_]/" ?

"#[^a-zа-яё\d_-]#iu"
модификатор u только для юникода.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.