中文是[\u4e00-\u9fa5],简体中文的正则表达式应该怎么写啊 ?

解决方案 »

  1.   

    你在jsp里设置不就可以了吗?干嘛非要用正则呢?
      

  2.   

    其中的\u4e00、\u9fa5  是Unicode字符编码,“-”是连接符,如果你想要知道具体表示什么汉字,你可以去查Unicode编码表!!!
      

  3.   

    import java.nio.charset.Charset;
    import java.nio.charset.CharsetEncoder;public class CharsetTest {
        
        private final static CharsetEncoder gb2312 = Charset.forName("gb2312").newEncoder();    public static void main(String[] args) {
            String[] strs = {
                    "简体中文汉字,繁體中文漢字,人民",
                    "简体中文汉字,人民"
                };
            
            for(int i = 0; i < strs.length; i++) {
                System.out.println(strs[i] + " --> " + isGB2312ChineseString(strs[i]));
            }
        }
        
        /**
         * 判断是否全部能被 GB2312 编码的字符串
         * @return
         */
        public static boolean isGB2312ChineseString(String str) {
            if(str == null || str.trim().length() == 0) {
                return true;
            }
            char[] chs = str.toCharArray();
            for(int i = 0; i < chs.length; i++) {
                if(!gb2312.canEncode(chs[i])) {
                    return false;
                }
            }
            return true;
        }
    }