//工具集合
var tool_ = {
now: function () {
var day;
var mydate = new Date();
var txt = mydate.getFullYear() + '-' + mydate.getMonth() + '-' + mydate.getDate();
var arr = txt.split('-');
if (arr.length == 3) {
day = new Date(arr[0], (arr[1] - 1), arr[2]);
} else {
day = new Date();
}
return day;
},
birthday: function (val) {
var txt = val.slice(6, 10) + '-' + val.slice(10, 12) + '-' + val.slice(12, 14);
return txt;
},
checkId: function (val) {
if (!val) {
return false;
} else {
val = val.replace(/(^\s*)|(\s*$)/g, '');
}
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];
if (val.length != 15 && val.length != 18) {
return false;
}
var Ai = val.length == 18 ? val.substring(0, 17) : val.slice(0, 6) + "19" + val.slice(6, 16);
if (!/^\d+$/.test(Ai))
return 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), year = d.getFullYear(), mon = d
.getMonth(), day = d.getDate(), now = tool_.now();
if (year != yyyy || mon != mm || day != dd || d > now
|| now.getFullYear() - year > 140)
return false;
for (var i = 0, ret = 0; i < 17; i++)
ret += Ai.charAt(i) * Wi[i];
Ai += arrVerifyCode[ret %= 11];
return val.length == 18 && val.toLowerCase() != Ai ? false : Ai;
},
gender: function(val){
var rst;
if (val.slice(14, 17) % 2 != 0)
rst = "男";
else
rst = "女";
return rst;
}
};
//调用
tool_.checkId("321***19941227****") 返回值:true/false
tool_.gender("321***19941227****") 返回值:男/女
tool_.birthday("321***19941227****") 返回值:1994-12-27
js 身份证验证
最新推荐文章于 2022-08-01 12:32:03 发布