java校验字符串是否为数字_java判断字符串是否为数字或中文或字母

个人认为最好的方法

*各种字符的unicode编码的范围:

* 汉字:[0x4e00,0x9fa5](或十进制[19968,40869])

* 数字:[0x30,0x39](或十进制[48, 57])

*小写字母:[0x61,0x7a](或十进制[97, 122])

* 大写字母:[0x41,0x5a](或十进制[65, 90])

public static boolean isLetterDigitOrChinese(String str) {

String regex = "^[a-z0-9A-Z\u4e00-\u9fa5]+$";//其他需要,直接修改正则表达式就好

return str.matches(regex);

}

其他方法:

1abd7abaa9c028fa9f78c852876eb278.gif

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("[0-9]*");

return pattern.matcher(str).matches();

}

//可以校验含有负号的数字,"^-?[0-9]+"

//"-?[0-9]+.?[0-9]+"可检验所有数字

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; }

4>用org.apache.commons.lang.StringUtils.StringUtils.isNumeric("123") //只能校验不含负号“-”的数字

1abd7abaa9c028fa9f78c852876eb278.gif

1abd7abaa9c028fa9f78c852876eb278.gif

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;

}

}

1abd7abaa9c028fa9f78c852876eb278.gif

1abd7abaa9c028fa9f78c852876eb278.gif

3 .判断是否为汉字

public boolean vd(String str){

char[] chars=str.toCharArray();

boolean isGB2312=false;

for(int i=0;i

byte[] bytes=(""+chars[i]).getBytes();

if(bytes.length==2){

int[] ints=new int[2];

ints[0]=bytes[0]& 0xff;

ints[1]=bytes[1]& 0xff;

if(ints[0]>=0x81 && ints[0]<=0xFE &&

ints[1]>=0x40 && ints[1]<=0xFE){

isGB2312=true;

break;

}

}

}

return isGB2312;

}

1abd7abaa9c028fa9f78c852876eb278.gif

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值