но у меня получилось только буквы и цифры
eregi('[^a-zA-Z0-9]',$login)
а как разрешить ещё дефис и нижнее подчеркивание?
Спустя 3 минуты, 15 секунд (6.12.2011 - 13:03) Winston написал(а):
if(preg_match("#^[\w-]+$#i", $login))
echo 'OK';
else
echo 'bad';
Спустя 5 минут, 46 секунд (6.12.2011 - 13:09) verhmax написал(а):
та мне нужно при регистрации чтоб пользователь мог ввести логин только из английских букв, цифер и подчеркивания с дефисом. на данный момент моя строка проверяет только буквы и цифры. как в это выражение добавить ещё дефис и нижнее подчеркивание?
Спустя 5 минут, 19 секунд (6.12.2011 - 13:14) Winston написал(а):
eregi - сделали устаревшей ф-ей еще в PHP 5.3, сейчас нужно использовать preg_match.
Вот так напиши у себя
$login = 'hello'; // true - подходит
$login = 'hello_world132'; // true - подходит
$login = 'hello_world132-'; // true - подходит
$login = '/hello_world132/'; // falsе - не подходит
if(preg_match("#^[\w-]+$#i", $login))
echo 'OK';
else
echo 'bad';
Вот так напиши у себя
preg_match("#^[\w-]+$#i", $login);
Спустя 1 минута, 38 секунд (6.12.2011 - 13:16) Winston написал(а):
Можешь здесь посмотрить, что значит метасимвол \w