0

我有一个基于用户输入的数据库查询,但是如果用户在搜索中输入任何一个常用字母,应用程序就会崩溃。但由于搜索也支持中文字符,我不能简单地阻止所有一个字符搜索。

我将如何编写正则表达式来检查单个英文字符但不包含单个中文字符?"^(a-zA-Z){1}$" "^\w{1}$" 这些是否只包括英文字母?

我正在考虑使用这样的正则表达式,但任何更好的解决方案将不胜感激:

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

1 回答 1

1

您绝对应该首先修复任何崩溃。要区分英文和中文 (CJK) 字符,您可以使用字符类,例如\p{ASCII},\p{Alpha}用于 ASCII 和\p{InCJKUnifiedIdeographs}CJK 字符。

于 2012-05-25T01:19:49.610 回答