读书人

java中 正则表达式印证中文不好使

发布时间: 2012-08-14 10:39:57 作者: rapoo

java中 正则表达式验证中文不好使
在struts2 验证:

public void validateSavemajortypeaction(){
String regex="^[u4e00-\u9fa5],{0,}$";
if(majortypeName==null||"".equals(majortypeName)){
addFieldError("majortypeName", "请输入职位分类名!");
}else if(majortypeName.length()>20||majortypeName.length()<2){
addFieldError("majortypeName", "职位分类名长度必须在(2-20)范围内!");
}else if(!regex.matches(majortypeName)){
addFieldError("majortypeName", "请输入汉字!");
}
}

该如何写正则表达式啊,上面的不管用,请高手指点

[解决办法]
u4e00 前面少了个 \

职位分类名长度必须在(2-20)范围内!

要写成这样:

String regex = "[\u4e00-\u9faf]{2,20}";
[解决办法]
\u4e00-\u9faf

读书人网 >Java Web开发

热点推荐