JS身份证验证

本文提供了一段JavaScript代码,用于验证用户输入的18位中国身份证号码的正确性,并从中提取出生日期信息。该方法首先检查身份证号码的长度是否为18位,接着验证号码的数字部分及最后一位校验码的有效性。
function GetBirthday(sStr)
{
	if (sStr != "")
	{
		if (sStr.length != 18)
		{
			alert("你输入的身份证不对哦!");
			return false;
		}
		var n = /^\d*/g;
		var s = sStr.substr(0,17);
		if (n.exec(s) == false)
		{
			alert("你输入的身份证格式不对吧!");
			return false;
		}
		var s2 = sStr.substr(17,1);
		if (n.exec(s2) == false && s2 != "x" && s2 != "X")
		{
			alert("您老输入的是哪一代的身份证呢?\n我咋就不认识呢@_@");
			return false;
		}
		var nian = sStr.substr(6,4);
		var yue = sStr.substr(10,2);
		var ri = sStr.substr(12,2);
//		alert(nian+"-"+yue+"-"+ri);
		if (n.exec(nian) == false || n.exec(yue) == false || n.exec(ri)  == false)
		{
			alert("你输入的身份证格式不对哦!");
			return false;
		}
		document.form1.fnian.value = nian;
		document.form1.fyue.value = yue;
		document.form1.fri.value = ri;
	}
}

转载于:https://www.cnblogs.com/FanTasYX/p/3223298.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值