Фильтрация username'а

  • Автор темы Автор темы kgip33
  • Дата начала Дата начала

kgip33

Guest
Фильтрация username'а

Нужно профильтровать username на знаки:
!@#$%^&*()+=\|/.,<>'"[]{}`~?
или впринципе на все такие(если забыл какие упомянуть)
Если использовать preg_match то указывать каждый символ через | ? Или может есть какая функция по обрезанию всех этих символов?
Спасибо :)
 
Я тоже об этом уже подумал :D пасиб

-~{}~ 29.03.05 09:35:

Тут по ходу ещё одна проблемка в preg_match'ем возникла:
Чтобы разhешить пользователю все символы алфавита все цифры и знаки '-' и '_' интуитивно я сотворил:
preg_match("/[a-zA-Z0-9-_]/", $string);
Но оно спокойно разрешит строку raz@#$@*&^dva
Помогите написать правильно этот preg_match :)
 
в начале класса поставь ^
и проверяй наоборот - если совпало, значит есть посторонние.
 
тире в классах имеет особое значение, поэтому если тебе нужно именно тире, то ставь его в начала или конце.
 
crocodile2u
или вначале думать прежде чем говорить
или читать документакцию
 
Demiurg
попробовал экспериментировать. Но твоего замечания пока не оценил. Может, дашь ссылку?
 
preg_replace('/[^a-zA_Z0-9_-]/','',$username);

...или то, что ты хочешь оставить...
 
Сверху