需要限制用户只能输入汉字,汉字中的句号。逗号,等标点符号也要禁止输入,有没有坛友这样搞过?

解决方案 »

  1.   

    汉字编码:\u4e00-\u9fa5用来判断是不是中文的一个条件
      

  2.   

    var username = XXX;
    if(/^([\u4e00-\u9fa5])+$/.test(username)){
    ...

    可以用正则!
      

  3.   

    楼主问题能说清楚吗什么地方限制只能输入汉子到底是web的input输入框还是swing的JTextField
      

  4.   

    其实是android的东东,项目要求用户名注册只能支持汉字、英文、数字,但是中文字符里句号逗号等不包括在内的
      

  5.   


    /**
     * 判定输入汉字
     * @param c
     * @return
     */
        public  boolean isChinese(char c) {
            Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
            if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
                 || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
                return true;
            }
            return false;
        }
            
            /**
             * 检测String是否全是中文
             * @param name
             * @return
             */
       public  boolean checkNameChese(String name)
       {
               boolean res=true;
               char [] cTemp = name.toCharArray(); 
               for(int i=0;i<name.length();i++)
               {
                       if(!isChinese(cTemp[i]))
                       {
                               res=false;
                               break;
                       }
               }           
               return res;
       }