2

ユーザーが空のユーザー名を入力できないようにしようとしています。スペースを決定するには、次のコードを使用します。

if (strlen($nickname) > 0 && strlen(trim($nickname)) == 0)
{
die("Your username is empty");
}

それは機能しますが、ユーザーがAlt + 0160とスペースを一緒に押すと、上記の条件は成り立たないので、ユーザー名がスペースとalt + 0160だけで構成されているのか、それとも空の文字になる他の文字で構成されているのかを判断するにはどうすればよいですか?

4

2 に答える 2

2

最初に文字列を単純にフィルタリングできます

$string = filter_var($string,FILTER_SANITIZE_STRING , FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH );
于 2013-02-15T20:34:14.950 に答える
1

次のようにしてみてください。

$nickname = preg_replace("/[^A-Za-z0-9]/","",$str); //only things from the alfabet + numbers
if( strlen( $nickname ) < 1){
  // error
}

不要なものを除外し (この場合は、必要なものだけを許可します)、後で文字列の長さを確認します。

于 2013-02-15T20:34:44.937 に答える