当前位置: 代码迷 >> Java Web开发 >> java中 正则表达式印证中文不好使
  详细解决方案

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

热度:6916   发布时间:2013-02-25 21:16:00.0
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
  相关解决方案