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

转载 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();
      } 



android 判断EditText中输入的值是数字、字母还是汉字

转自:http://blog.csdn.net/mrzhang_happy/article/details/45691165 String text = edInput.getText(...
  • vily_luky
  • vily_luky
  • 2018年01月02日 20:00
  • 41

Java判断是中文,数字还是字母

package cn.edu.hpu; import java.util.Scanner; public class BoBo { /** * @zhj */ public stat...
  • u010031939
  • u010031939
  • 2013年12月04日 09:02
  • 1345

iOS学习笔记之textfield判断是否是全汉字、全数字、全字母!

#pragma mark 输入中文 - (BOOL) deptNameInputShouldChinese {     NSString *regex = @"[\u4e00-\u9...
  • ANDY_GUO_wei
  • ANDY_GUO_wei
  • 2017年06月26日 17:52
  • 520

shell case语句 判断一个字符是字母还是数字

有时候我们进行数字运算的时候,输入的是字母,这时候会使得脚本崩溃。在运算之前判断输入是不是数字就很重要了。 使用case语句来判断输入的一个字符是不是数字: lan@lan_ubuntu:~/桌面/p...
  • qq_21808961
  • qq_21808961
  • 2017年10月24日 21:35
  • 180

JS判断文本框输入的包含字母,数字,汉字,但输入的时候必须有汉字

有关正则表达式 1.只能输入数字和英文的: 2.只能输入数字的: 3.只能输入全角的: 4.只能输入汉字的: 转自http://zhidao.baidu.com/questi...
  • zhangzhen6960
  • zhangzhen6960
  • 2012年02月23日 16:18
  • 2248

iOS 判断字符串是否以字母或者汉字开头

// 判断是否以字母开头 - (BOOL)isEnglishFirst:(NSString *)str { NSString *regular = @"^[A-Za-z].+$"; ...
  • aaaa99996666
  • aaaa99996666
  • 2017年01月05日 10:47
  • 956

iOS 怎么判断字符串是汉字还是字母

//如果输入的昵称是字母,判断是否合格         if(self.nickNameText){             for (int i=0; iself.nickNameText....
  • darongzi1314
  • darongzi1314
  • 2015年01月16日 15:36
  • 3053

unity c#如何检测一串字符串中的汉字数与英文字母 标点符号数

笔者在网上找了好长时间的最后来是找到了 ,所以写在这里让大家很很明了的找到这个方法 思路是 将这串字符串 转为ASCLL码  汉字的编码一般在127以上 所以我们检测ASCLL码 就可以知道汉字与非汉...
  • huhudeni
  • huhudeni
  • 2017年06月28日 10:25
  • 641

如何判断一个字符串是不是英文字母和数字

data str type string.data hty like DD01V-DATATYPE.str = 45545423154.call function NUMERIC_CHECK  exp...
  • SAPHOME
  • SAPHOME
  • 2007年11月22日 16:37
  • 3606

C++语言怎么判断输入是否数字?或者字母?

假设用char ch接收用户输入 判断字母: 写字母:if((ch>='a')&&(ch 写字母:if((ch>='A')&&(ch 字母(包含写):if(((ch>='a')&&(ch='A...
  • u013174689
  • u013174689
  • 2014年08月03日 00:45
  • 4073
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:判断输入的字符串是汉字,字母,还是数字?——经我实践最有效的方法
举报原因:
原因补充:

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