学习日记8、根据身份证号获取生日和性别

//根据身份证号自动填充性别和年龄
function showBirthday(val) {
var birthdayValue;
if (15 == val.length) { //15位身份证号码
birthdayValue = val.charAt(6) + val.charAt(7);
if (parseInt(birthdayValue) < 10) {
birthdayValue = '20' + birthdayValue;
}
else {
birthdayValue = '19' + birthdayValue;
}
birthdayValue = birthdayValue + '-' + val.charAt(8) + val.charAt(9) + '-' + val.charAt(10) + val.charAt(11);
if (parseInt(val.charAt(14) / 2) * 2 != val.charAt(14))
$("input[name='Sex'][value=1]").attr("checked",true)
else
$("input[name='Sex'][value=0]").attr("checked", true)
//document.all.sex.value = '女';
$('#Birthday').datebox('setValue',birthdayValue)
}
if (18 == val.length) { //18位身份证号码
birthdayValue = val.charAt(6) + val.charAt(7) + val.charAt(8) + val.charAt(9) + '-' + val.charAt(10) + val.charAt(11)

+ '-' + val.charAt(12) + val.charAt(13);
if (parseInt(val.charAt(14) / 2) * 2 != val.charAt(14))
$("input[name='Sex'][value=1]").attr("checked", true)
else
$("input[name='Sex'][value=0]").attr("checked", true)
//document.all.sex.value = '女';
if (val.charAt(17) != IDCard(val)) {
//document.all.IDNumber.style.backgroundColor = '#ffc8c8';
}
else {
//document.all.IDNumber.style.backgroundColor = 'white';
}
//document.all.birthday.value = birthdayValue;
$('#Birthday').datebox('setValue', birthdayValue)
}
}

// 18位身份证号最后一位校验
function IDCard(Num) {
if (Num.length != 18)
return false;
var x = 0;
var y = '';

for (i = 18; i >= 2; i--)
x = x + (square(2, (i - 1)) % 11) * parseInt(Num.charAt(19 - i - 1));
x %= 11;
y = 12 - x;
if (x == 0)
y = '1';
if (x == 1)
y = '0';
if (x == 2)
y = 'X';
return y;
}

// 求得x的y次方
function square(x, y) {
var i = 1;
for (j = 1; j <= y; j++)
i *= x;
return i;
}

这个文章我是从网上找的,具体的网址我已经忘了。

原文地址:https://www.cnblogs.com/Wxinchun/p/8661605.html