// Javascript校验是否是正确身份证号码
// 15位用正则验证,18位用校验码
// 关于身份证校验码详见https://baike.baidu.com/item/
String.prototype.isIdCard = function () {
var id = this;
var a = id.toUpperCase().split('');
var c = '7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2'.split(',');
var d = '10X98765432'.split('');
var s = 0;
var l = a.length;
var v = a[l - 1];
var n = /^\d{6}(18|19|20)\d{2}[01]\d[0123]\d\d{3}(\d|X|x)$/i.test(id); // 18位验证
var f = /^\d{6}\d{2}[01]\d[0123]\d\d{3}$/i.test(id); // 15位验证
for (var i = 0; i < l - 1; i++) {
s += a[i] * c[i];
}
r = s % 11;
r = d[r];
return f || (n && r == v); // 通过15位正则 或者 (通过18位正则并且校验码正确)
}
console.log( '202102197012126663'.isIdCard());
零五网 - 为热爱技术的人而生!
js身份证号码真假校验 javascript校验身份证号码是否正确
0 Previous Articlephp怎么从文件路径中获取文件名 php怎么从文件路径中分离文件目录和文件名
Next Article 微信零钱发起提现后可以加急处理吗?