js 身份证验证
来源:互联网 发布:网络下载限速怎么设置 编辑:程序博客网 时间:2024/05/18 01:17
//工具集合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/falsetool_.gender("321***19941227****") 返回值:男/女tool_.birthday("321***19941227****") 返回值:1994-12-27
阅读全文
0 0
- JS验证身份证
- js 身份证验证
- js 身份证验证
- js验证身份证格式
- js验证身份证格式
- JavaScript(JS)验证身份证
- js身份证验证
- js 身份证验证
- js验证身份证
- js身份证验证
- js身份证验证
- js身份证验证
- JavaScript(JS)验证身份证
- js验证身份证
- js 验证身份证合法性
- 身份证验证JS
- JS身份证有效性验证
- js身份证验证
- 某公司Java面试题
- 时间戳总结
- C++ 紫薯 6.4 图————用DFS求联通块
- 朴素贝叶斯(有实例,matlab实现)
- Spring 在xml配置里配置事务
- js 身份证验证
- cross entropy,logistic loss 和 KL-divergence的关系和区别
- BAT的AI Lab的不同之处
- Python函数式编程-map()、zip()、filter()、reduce()、lambda()
- 我是小李子,一个前端小白!
- qq UDP TCP 消息 学习
- 微信小程序wxss设置样式
- 字符串右循环移位
- SVN密码查看器