eğer kullanıcı adı metin ve rakamdan oluşacaksa ctype_alnum da iş görür. aklıma empty fonksiyonu da olur gibi geldi. bir kontrol edeyim ben de.
edit: dediğim gibi ctype_alnum iş görüyor.
www.php.net şu linkte de en altta olan örnek güzel.
$sUser = 'my_username01';
$aValid = array('-', '_');
if(!ctype_alnum(str_replace($aValid, '', $sUser))) {
echo 'Your username is not properly formatted.';
}
sen de bu şekilde istediğin gibi gelen veriyi formatlamış olursun.