判断输入的字符串是汉字,字母,还是数字?——经我实践最有效的方法

转载 2015年07月06日 16:36:34

——Friend or Foe 

网上判断输入是否是汉字,数字,字母,有很多方法,但经过实践许多方法效率很低,经常判断失败,所以在此不列举,下面这几种方法是经我实践验证效果最好的。

一:判断输入是否是汉字:

/**
         * 判定输入汉字
         * @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){
           returntrue;
       }
       returnfalse;
   }
       
       /**
         * 检测String是否全是中文
         * @param name
         * @return
         */
  public boolean checkNameChese(String name)
  {
          boolean isChinese=true;
          char[] cTemp = name.toCharArray();
          for(int i=0;i<name.length();i++)
          {
                  if(!isChinese(cTemp[i]))
                  {
                           isChinese=false;
                          break;
                  }
          }          
          return isChinese;
  }


二:判断输入是否是英文:

//判断表示是否全为英文  
    private boolean isEnglish(String str) {     
        for (int i = 0; i < str.length(); i++) {  
            if (!(str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')  
                    && !(str.charAt(i) >= 'a' && str.charAt(i) <= 'z')) {  
                return false;  
            }  
        }  
        return true;  
    }  

三:判断输入是否是数字:

String txt = edInput.getText().toString();

   Pattern p = Pattern.compile("[0-9]*"); 
     Matcher m = p.matcher(txt); 
     if(m.matches() ){
      Toast.makeText(Main.this,"输入的是数字", Toast.LENGTH_SHORT).show();
      } 



相关文章推荐

JAVA 统计字符串中的汉字、英文字母、数字、其他符号的数量

去除字符串的空格方法: 1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾、中间 String str ...

PHP正则提取啊汉字字母数字下划线的方法以及常用正则表达式

PHP常用正则表达式 "^\d+$"  //非负整数(正整数+ 0) "^[0-9]*[1-9][0-9]*$"  //正整数 "^((-\d+)|(0+))$"  //非正整数(负整数+ 0) "^...
  • zqtsx
  • zqtsx
  • 2014-02-25 15:23
  • 3961

1.2输入一个字符串,判断其中字母、数字、其他字符的个数

摩尔的Java学习笔记1.2 输入一个字符串,判断其中字母、数字、其他字符的个数;

使用正则表达式限制文本框只能输入数字、小数点、英文字母、汉字等

输入大于0的正整数 复制代码 代码如下: 1,文本框只能输入数字代码(小数点也不能输入) 复制代码 代码如下: 2,只能输入数字,能输小数点.   复制代码 代码如下: ...

正则表达式限制文本框只能输入数字,小数点,英文字母,汉字

1.文本框只能输入数字代码(小数点也不能输入) 2.只能输入数字,能输小数点. 3.数字和小数点方法二 <input type=text t_value="" o_value="" ...

jsp中怎么判断密码中不能含有空格,帐号只能由字母、数字、汉字、下划线“_”组成

1.   检查一段字符串是否全由数字组成               --------------------------------------...
  • lurao
  • lurao
  • 2015-12-10 15:37
  • 1827

正则表达式之判断用户注册信息是否为汉字、字母和数字

一般在写用户注册模块的时候都在对注册的用户名进行判断,查看一下有没有.!@#$%^&*()等这样的特殊字符,注册信息里一般将这些字符视为非法字符不允许注册。怎么进行判断呢,这里就用到了正则表达式了。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)