当前位置:首页 » 编程语言 » java校验数字

java校验数字

发布时间: 2023-09-23 01:34:05

java中验证字符串是不是数字的四种方法

判断字符串是不是数字,大家可能会用一些java自带的方法,也有可能用其他怪异的招式,比如判断是不是整型数字,将字符串强制转换成整型,不是数字的就会抛出错误,那么就不是整型的了。但本文介绍的比较好的两种方法:
1。java类库自带的方法:
public boolean isNum(String msg){
if(java.lang.Character.isDigit(msg.charAt(0))){
return true;}return false;}0202更新:发现以上方法写得不够到位,现在就改为下面的简单说明了,至于具体的方法实现字符串判断是否数字就不写了。
java.lang.Character.isDigit(char ch) boolean
isDigit 只能作用于char,所以判断字符串是否为数字,要一个一个拿出char进行判断。
2。用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,接下来是代码
public boolean isNumeric(String str){Pattern pattern = Pattern.compile(”[0-9]*”);
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){return false;}return true;}02
3。用正则表达式

⑵ java如何在输入框中判断是否输入的是数字

这里是Java后台验证。

publicstaticvoidmain(String[]args){
//target是从文本框传来的数据。这里进行模拟
Stringtarget="22221";
//如果为true,则是数字,否则不是。
System.out.println(isNumeric(target));
}

/**
*正则表达式:判断是否数字
*@paramstr
*@return
*/
publicstaticbooleanisNumeric(Stringstr){
Patternpattern=Pattern.compile("[0-9]*");
returnpattern.matcher(str).matches();
}

也可以直接在前台验证,用javascript验证。同样用正则表达式。

<scripttype="text/javascript">
functionvalidate(){
varreg=newRegExp("^[0-9]*$");
varobj=document.getElementById("name");
if(!reg.test(obj.value)){
alert("请输入数字!");
}
if(!/^[0-9]*$/.test(obj.value)){
alert("请输入数字!");
}
}
</script>

⑶ java身份证号位数校验

function checkIdcard(num)
{
num = num.toUpperCase();
//身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。
if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))
{
//alert('输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字,18位号码末位可以为数字或X。');
return false;
}
//校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
//下面分别分析出生日期和校验位
var len, re;
len = num.length;
if (len == 15)
{
re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);
var arrSplit = num.match(re);

//检查生日日期是否正确
var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);
var bGoodDay;
bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
if (!bGoodDay)
{
//alert('输入的身份证号里出生日期不对!');
return false;
}
else
{
//将15位身份证转成18位
//校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var nTemp = 0, i;
num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);
for(i = 0; i < 17; i ++)
{
nTemp += num.substr(i, 1) * arrInt[i];
}
num += arrCh[nTemp % 11];
return true;
}
}
if (len == 18)
{
re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
var arrSplit = num.match(re);

//检查生日日期是否正确
var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);
var bGoodDay;
bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
if (!bGoodDay)
{
//alert(dtmBirth.getYear());
//alert(arrSplit[2]);
//alert('输入的身份证号里出生日期不对!');
return false;
}
else
{
//检验18位身份证的校验码是否正确。
//校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
var valnum;
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var nTemp = 0, i;
for(i = 0; i < 17; i ++)
{
nTemp += num.substr(i, 1) * arrInt[i];
}
valnum = arrCh[nTemp % 11];
if (valnum != num.substr(17, 1))
{
//alert('18位身份证的校验码不正确!应该为:' + valnum);
return false;
}
return true;
}
}
return false;
}
var result = checkIdcard(sfzh);
if (!result)
{
$.messager.alert('提示信息','身份证号码格式不正确');
return;
}

⑷ java如何判断字符串中是否含有数字

一、算法思想

从字符串的第一个字符开始,逐个判断字符是否是数字,若是数字,说明字符串中包含数字,否则继续判断下一个字符,直到找到数字或到字符串结束也没有发现数字。


二、和盯操作过程

枝岩Java2EnterpriseEdition
^(不是数字)
^(不是数字)
^(不是数字)
^(不是数字)
^(不是数字)
^(是数字,结束)


三、程序代码

publicclassMain{	
publicstaticvoidmain(String[]args){
System.out.println(containDigit("Java2EnterpriseEdition"));
}

/**
*判断字符串中是否包含数字
*@paramsource待判断字符串
*@return字符串中是否包含数字,true:包含数字猛棚御,false:不包含数字
*/
(Stringsource){
charch;
for(inti=0;i<source.length();i++){
ch=source.charAt(i);
if(ch>='0'&&ch<='9'){
returntrue;
}
}

returnfalse;
}
}


四、运行测试

true
热点内容
php读文件 发布:2025-03-07 00:36:48 浏览:736
无线网如何分享密码 发布:2025-03-07 00:27:33 浏览:424
dvr远程访问 发布:2025-03-07 00:24:37 浏览:775
java可视化界面编程 发布:2025-03-07 00:17:22 浏览:464
数据库温备 发布:2025-03-07 00:17:12 浏览:498
debian如何编译qemu 发布:2025-03-07 00:05:32 浏览:856
ins海外服务器ip是什么 发布:2025-03-06 23:44:59 浏览:354
我的世界java版服务器推荐ip 发布:2025-03-06 23:43:17 浏览:563
如何取消微信帐号和密码 发布:2025-03-06 23:39:20 浏览:792
emc存储备份 发布:2025-03-06 23:35:02 浏览:837