Проверить регулярным выражение данные из поля "login" на вот такое условие: [a-zA-Z0-9_]
какой бы логин не ввели, все символы должны пройти это условие и если хоть одно не соответствует ему, то ошибка.
Сделать только средствами регулярного выражения у меня не получилось, решил обойти вот таким способом:
if (preg_match('/[^a-zA-Z0-9_]/',$value))
return false;
else
return true;
я немного изменил само условие в регулярке: [^a-zA-Z0-9_]
^ - не равно
получается preg_match выведет сразу true если там будет какой-нибудь левый символ который не относится к этому условию [a-zA-Z0-9_]
в моей конструкции видно, что если введут кривые символы, preg_match выдаст тру и следовательно return выдаст фолсе
если введены норм данные, preg_match выдаст фолсе и returnом выдаст тру.
Криво как-то рассказал, но надеюсь поняли :)
Спустя 18 минут, 13 секунд (25.07.2012 - 17:02) Winston написал(а):
if(preg_match('/^[a-z\d_]{3,20}$/ui',$value)) // Логин должен содержать 3-20 символов
return true;
else
return false;
Спустя 3 часа, 16 минут, 5 секунд (25.07.2012 - 20:18) bayanruby написал(а):
Winston, тоже верно)
Спустя 30 минут, 25 секунд (25.07.2012 - 20:48) neadekvat написал(а):
Winston, легким движением руки брюки превращаются.. превращаются брюки..
return preg_match('/^[a-z\d_]{3,20}$/ui', $value);