/* 校验身份证号 */
function checkIdCard(id) {
var flag = true;
//转换大小写
id = id.toUpperCase();
var arrVerifyCode = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];
var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
var Checker = [1, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1];
if(id.length != 15 && id.length != 18) {
layer.open({
title: '信息',
content: '身份证号不符合规则'
});
flag = false;
}
var Ai = id.length == 18 ? id.substring(0, 17) : id.slice(0, 6) + "19" + id.slice(6, 16);
if(!/^\d+$/.test(Ai)) {
layer.open({
title: '信息',
content: '身份证号不符合规则'
});
flag = false;
}
var yyyy = Ai.slice(6, 10),
mm = Ai.slice(10, 12) - 1,
dd = Ai.slice(12, 14);
var d = new Date(yyyy, mm, dd),
now = new Date();
var year = d.getFullYear(),
mon = d.getMonth(),
day = d.getDate();
if(year != yyyy || mon != mm || day != dd || d > now || year < 1800) {
layer.open({
title: '信息',
content: '身份证号不符合规则'
});
flag = false;
}
for(var i = 0, ret = 0; i < 17; i++) {
ret += Ai.charAt(i) * Wi[i]
}
Ai += arrVerifyCode[ret %= 11];
if(id.length == 18 && id != Ai) {
layer.open({
title: '信息',
content: '身份证号不符合规则'
});
flag = false;
}
return flag;
}