Показать сообщение отдельно

  #1127  
Старый 15.04.2010, 14:11
ZnikiR
Участник форума
Регистрация: 14.01.2009
Сообщений: 194
С нами: 9116574

Репутация: 44
По умолчанию

В общем я написал наконец нормальную проверку имени.
Спасибо Pashkela за код.
В общем функция для проверки имени полязователя на валид ( правильность , валидность )
PHP код:
if (!preg_match('#-{2,}#',$a) && //нет двух подряд тире
    
preg_match_all('#-#',$a,$m1)<&& //И  в строке меньше 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 символов
    
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..
 
Ответить с цитированием