Ben sitemde nick kayıtları için şu kuralı kullanıyorum:
Büyük harf, küçük harf, rakam, boşluk, Türkçe karakterler olabilir ve ard arda 1 den fazla boşluk olamaz.
function indexOf( $metin, $aranacak, $buyukkucukharf ){
return preg_match_all("/".$aranacak."/".($buyukkucukharf == true ? "" : "i"), $metin, $sonuç);
}
function uygunmu( $nick ){
$türkçeler = array( 'ı', 'ğ', 'ü', 'ş', 'ö', 'ç', 'İ', 'Ğ', 'Ü', 'Ş', 'Ö', 'Ç', ' ' );
$ingilizceler = array( 'i', 'g', 'u', 's', 'o', 'c', 'i', 'g', 'u', 's', 'o', 'c', '' );
if( ctype_alnum( str_replace( $türkçeler, $ingilizceler, $nick ) ) ){
if( !indexOf( $nick, ' ', false ) ){
return true;
} else {
return false;
}
}
}