Java 判断是否为数字

开发工具与关键技术:Java,MyEclipse 10
作者:吴永旗
撰写时间:2019年6月3日
在开发网站中填写表单信息是,有些字段信息必须是数字格式的,如用户年龄,工资收入,手机号码等,都必须是数字的。下面实例主要通过ASCII码值来判断数据是否为数字,(简述:ASCII码值在不同的区间表示不同意义,例如:在48~57区间为0到9十个阿拉伯数字,65~90区间为26个大写英文字母,97~122区间为26个小写英文字母等)。首先先将整个字符通过string类的toCharArray()方法转换为字符数组,然后通过for循环把每个字节转换为ASCII码,判断是否在48~57之间,如果满足则使用StringBuffer对象累加每个字节,最后判断StringBuffer对象的字符串长度是否等于字符数组长度,如果等于则为数字。

(1).建名StringUtil的 JavaBean类,该类判断验证是否是字符串,关键代码如下:

public class StringUtil {
private static boolean number;//判断结果
public static boolean isNumber(String numStr) {
numStr=numStr.replaceAll("", “”);//去掉空格
char cArr[]=numStr.toCharArray();//将字符串转换为字符数组
StringBuffer sb=new StringBuffer("");//创建字符对象
for (int i = 0; i < cArr.length; i++) {
int ascii=(int)cArr[i];//将字符串强制转换为int值,该值为字符的ASCII码
if (ascii>=48&ascii<=57) {//数字09的ASCII码在范围4857之间
//ascii>=48&ascii<=57 等同于正则表达式 numStr.matches("1?(([0-9]+)(.)?|(.)?)$")
sb.append(cArr[i]);
}
if (sb.length()==cArr.length) {//如果stringbuffer字符串的长度等于数组长度
number=true;//该数字为字符串
}else{
number=false;//否则不是
}
}
return number;
}
}

(2)新建index.jsp页,用于输入表单信息,关键代码如下:

月工资收入:

(3)验证输出结果如下
Java 判断是否为数字_第1张图片


  1. -+ ↩︎

你可能感兴趣的:(java)