Javascript基于ID号实现相关信息。
地址码的前两位代表省,中间两个代表城市,后面两个代表县。
序列码表示在同一地址、同一地址码中的同一年、月和日出生的人的序列号。奇数序列码分为男性,偶数码给妇女。
校验码是根据前十七位数字代码,根据ISO 7064: 1983.mod 11-2校验码计算的测试代码。
校验码计算方法:
1)前面的身份证号码乘以17个系数,第一个系数到第十七个系数分别为79105842163和79105842。
2)添加17位数和系数相乘的结果,加和除以11,得到余数。
4)其余的只能在11个数字中有0123456789个,最后一个对应于该数字的身份证的数目分别为10×98765432。
身份证号码认证支持15位和18位身份号码支持地址编码、出生日期、校验位验证。
复制代码代码如下所示:
身份证查询
籍贯:
出生日期:uff1a
性别:
删除头和尾字符串空格
家=生日=,性别=;
函数修剪(STR){
返回str.replace( / ^ * | * $ / g,);
}
身份证
功能identitycodevalid(代码){
代码=修剪(代码);
var = 11:12:北京
如果(代码| |!! / ^ D { 6 }(18 | 19 | 20) D { 2 }(0 { } | 1-9 1 { 012 })(0 | 1-9 } { { 12 } D | 3 { 01 }) D { 3 }( D | X)$ / i.test(代码)){
警报(身份证号码中的错误);
家=,生日=,性=;
返回false;
}
如果(!市code.substring(0,2){ }){
警报(地址编码错误);
家=,生日=,性=;
返回false;
}
如果(code.length = = 18){ / / 18身份证需要验证最后一位检查
无功codearr = code.split('');
var因子= 7, 9, 10、5, 8, 4、2, 1, 6、3, 7, 9、10, 5, 8、4, 2 };
VaR平价= { 1, 0,x,9, 8, 7,6, 5, 4,3, 2 }; / /检查
var总和= 0;
对于(var i = 0;i < 17;i + +){
总和= codearr {我} *因素{我};
}
如果(奇偶校验{ % 11 }!= codearr { 17 }){
警报(检查位错误);
家=,生日=,性=;
返回false;
}
}
/省
家=市{ code.substring(0,2)};
/生日
生日= code.substring(6,10)+ code.substring(10,12)+++ code.substring + '天'(12,14);
/性
如果(代码=长度= 15){
性别= code.substring(14,15)% 2 = = 0 '女':'男性';
}如果(代码=长度= 18){
性别= code.substring(14、17)% 2 = = 0 '女':'男性';
}
}
输出结果
document.queryselector(' # BTN)。Onclick =函数(){
VaR代码= document.queryselector(' #代码值);
IdentityCodeValid(代码);
document.queryselector(' #家跨).innerHTML =家;
document.queryselector(' #生日跨度).innerHTML =生日;
document.queryselector(' #性别跨度).innerHTML =性;
}
本文主要是基于公民身份的规则,阅读相关资料,非常方便实用,推荐给大家。