java实现身份证校验

上传人:子 文档编号:43080387 上传时间:2018-06-04 格式:DOC 页数:5 大小:14.61KB
返回 下载 相关 举报
java实现身份证校验_第1页
第1页 / 共5页
java实现身份证校验_第2页
第2页 / 共5页
java实现身份证校验_第3页
第3页 / 共5页
java实现身份证校验_第4页
第4页 / 共5页
java实现身份证校验_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《java实现身份证校验》由会员分享,可在线阅读,更多相关《java实现身份证校验(5页珍藏版)》请在金锄头文库上搜索。

1、javajava 实现身份证校验实现身份证校验15 位和 18 位身份证的正则表达式及其验证 2008 年 05 月 07 日 星期三 10:121、简单的正则表达式:(1)preg_match(“/(d18,18|d15,15|d17,17x)$/“,$id_card) (2)preg_match(“/(d6)(18|19|20)?(d2)(01d)(0123d)(d3)(d|X)?$/“,$id_card) (3)preg_match(“/(d15$/)|(d17(?:d|x|X)$/),$id_card)2、复杂并且严格一些的验证:/这个可以验证 15 位和 18 位的身份证,并且包含生

2、日和校验位的验证。 /如果有兴趣,还可以加上身份证所在地的验证,就是前 6 位有些数字合法有些数字不合法。 function isIdCardNo(num) num = num.toUpperCase(); /身份证号码为 15 位或者 18 位,15 位时全为数字,18位前 17 位为数字,最后一位是校验位,可能为数字或字符 X。 if (!(/(d15$)|(d17(0-9|X)$)/.test(num) alert(输入的身份证号长度不对,或者号码不符合规定!n15 位号码应全为数字,18 位号码末位可以为数字或X。); return false; /校验位按照 ISO 7064:198

3、3.MOD 11-2 的规定生成,X 可以认为是数字 10。 /下面分别分析出生日期和校验位 var len, re; len = num.length; if (len = 15) re = new RegExp(/(d6)(d2)(d2)(d2)(d3)$/); var arrSplit = num.match(re); /检查生日日期是否正确 var dtmBirth = new Date(19 + arrSplit2 + / + arrSplit3 + / + arrSplit4); var bGoodDay; bGoodDay = (dtmBirth.getYear() = Numb

4、er(arrSplit2) 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

5、.substr(0, 6) + 19 + num.substr(6, num.length - 6); for(i = 0; i var aCity=11:“北京“,12:“天津“,13:“河北“,14:“山西“,15:“内蒙古“,21:“辽宁“,22:“吉林“,23:“黑龙江“,31:“上海“,32:“江苏“,33:“浙江“,34:“安徽“,35:“福建“,36:“江西“,37:“山东“,41:“河南“,42:“湖北“,43:“湖南“,44:“广东“,45:“广西“,46:“海南“,50:“重庆“,51:“四川“,52:“贵州“,53:“云南“,54:“西藏“,61:“陕西“,62:“甘肃“

6、,63:“青海“,64:“宁夏“,65:“新疆“,71:“台湾“,81:“香港“,82:“澳门“,91:“国外“function cidInfo(sId)var iSum=0var info=“if(!/d17(d|x)$/i.test(sId)return false;sId=sId.replace(/x$/i,“a“);if(aCityparseInt(sId.substr(0,2)=null)return “Error:非法地区“;sBirthday=sId.substr(6,4)+“-“+Number(sId.substr(10,2)+“-“+Number(sId.substr(12,

7、2);var d=new Date(sBirthday.replace(/-/g,“/“)if(sBirthday!=(d.getFullYear()+“-“+ (d.getMonth()+1) + “-“ + d.getDate()return “Error:非法生日“;for(var i = 17;i=0;i -) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)if(iSum%11!=1)return “Error:非法证号“;return aCityparseInt(sId.substr(0,2)+“,“+sBirthday+“,“+(sId.substr(16,1)%2?“男“:“女“)document.write(cidInfo(“380524198002300016“),“);document.write(cidInfo(“340524198002300019“),“)document.write(cidInfo(“340524197711111111“),“)document.write(cidInfo(“34052419800101001x“),“);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号