0

ユーザー入力に基づくデータベース クエリがありますが、ユーザーが検索で一般的な文字を 1 つ入力すると、アプリがクラッシュします。ただし、検索は漢字もサポートしているため、1 文字の検索をすべて単純にブロックすることはできません。

単一の英語の文字をチェックする正規表現をどのように記述しますが、単一の中国語の文字は含まれませんか? "^(a-zA-Z){1}$" "^\w{1}$" これらは英字だけですか??

このような正規表現を使用することを考えていますが、より良い解決策があれば幸いです:

if(input.matches("^(a-zA-Z){1}$")
{
  //Show error
}
else
{
 //do query 
}
4

1 に答える 1

1

最初にクラッシュを修正する必要があります。英語と中国語 (CJK) の文字を区別するには、ASCII 文字と CJK 文字の などの文字クラスを使用\p{ASCII}でき\p{Alpha}ます\p{InCJKUnifiedIdeographs}

于 2012-05-25T01:19:49.610 に答える