影者东升 发表于 2021-7-11 14:18:11

判断字符串是否为数字或中文或字母

1.判断字符串是否仅为数字:
1>用JAVA自带的函数

public static boolean isNumeric(String str){
for (int i = str.length();--i>=0;){   
   if (!Character.isDigit(str.charAt(i))){
    return false;
   }
}
return true;
}
2>用正则表达式

public static boolean isNumeric(String str){
    Pattern pattern = Pattern.compile("*");
    return pattern.matcher(str).matches();   
}
3>用ascii码

public static boolean isNumeric(String str){
   for(int i=str.length();--i>=0;){
      int chr=str.charAt(i);
      if(chr<48 || chr>57)
         return false;
   }
   return true;
}

2.判断一个字符串的首字符是否为字母

public   static   boolean   test(String   s)   
{   
char   c   =   s.charAt(0);   
int   i   =(int)c;   
if((i>=65&&i<=90)||(i>=97&&i<=122))   
{   
return   true;   
}   
else   
{   
return   false;   
}   
}


public   static   boolean   check(String   fstrData)   
          {   
                  char   c   =   fstrData.charAt(0);   
                  if(((c>='a'&&c<='z')   ||   (c>='A'&&c<='Z')))   
                {   
                        return   true;   
                }else{   
                        return   false;   
                  }   
          }

3 .判断是否为汉字
public boolean vd(String str){

    char[] chars=str.toCharArray();
    boolean isGB2312=false;
    for(int i=0;i<chars.length;i++){
                byte[] bytes=(""+chars).getBytes();
                if(bytes.length==2){
                            int[] ints=new int;
                            ints=bytes& 0xff;
                            ints=bytes& 0xff;
                           
if(ints>=0x81 && ints<=0xFE &&
ints>=0x40 && ints<=0xFE){
                                        isGB2312=true;
                                        break;
                            }
                }
    }
    return isGB2312;
}
  
文档来源:51CTO技术博客https://blog.51cto.com/u_14397532/3035639
页: [1]
查看完整版本: 判断字符串是否为数字或中文或字母