
15.04.2010, 14:11
|
|
Участник форума
Регистрация: 14.01.2009
Сообщений: 194
С нами:
9116574
Репутация:
44
|
|
В общем я написал наконец нормальную проверку имени.
Спасибо Pashkela за код.
В общем функция для проверки имени полязователя на валид ( правильность , валидность )
PHP код:
if (!preg_match('#-{2,}#',$a) && //нет двух подряд тире
preg_match_all('#-#',$a,$m1)<3 && //И в строке меньше 3 тире,т.е. 1 или 2
!preg_match('#(^-|-$)#',$a) && //И нет тире в начале или конце
!(preg_match('#[а-яА-Я]#',$a) && preg_match('#[a-z]#i',$a)) && //И не используються сразу англ и русские символы
!preg_match('#[^а-яА-Яa-z\-]#i',$a) && //И не используються знаки кроме разрешенных {"а-я" "А-Я" "a-z" "A-Z" и "-"}
strlen($a)>=3 && //И имя длиннее 3 символов
strlen($a)<=30 //И имя короче 30 символов
)echo "Ok";
else echo "Error<br>";
Еще Можно объядинить эти две строки
PHP код:
!preg_match('#-{2,}#',$a)
!preg_match('#(^-|-$)#',$a)
В
PHP код:
preg_match('#-{2,}|(^-|-$)#',$a,$m1);
Последний раз редактировалось ZnikiR; 15.04.2010 в 14:26..
|
|
|