java中 正则表达式验证中文不好使
在struts2 验证:
public void validateSavemajortypeaction(){
String regex="^[u4e00-\u9fa5],{0,}$";
if(majortypeName==null||"".equals(majortypeName)){
add
FieldError("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