600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > js正则验证身份证号码并 根据号码获取生日和性别

js正则验证身份证号码并 根据号码获取生日和性别

时间:2019-03-16 15:22:42

相关推荐

js正则验证身份证号码并 根据号码获取生日和性别

最近项目中碰到一个需求,根据用户输入的身份证号码自动识别生日,和性别,为此专门在网上找了下资料了解了下,建议先了读一遍下边的文章

身份证信息介绍: /s?id=1611137815296898286&wfr=spider&for=pc

后来自己写了个方法记录一下

代码如下

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title></head><body><input type="text" class="card" style="width: 300px;height: 30px;font-size: 14px;"><button class="btn">验证</button><script>var reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{7}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/;var btn = document.querySelector('.btn');var cardnumber, birthday, sex;btn.onclick = function () {cardnumber = document.querySelector('.card').value;if (reg.test(cardnumber)) {transformIdentityCard(cardnumber)console.log(birthday)console.log(sex)} else {console.log('请输入正确身份证号')}}function transformIdentityCard (value) {// sex 0未知 1男 2女if (value.length === 15) {birthday = `19${value.substr(6, 2)}-${value.substr(8, 2)}-${value.substr(10, 2)}`sex = (value.substr(14, 1) % 2) || 2}if (value.length === 18) {birthday = `${value.substr(6, 4)}-${value.substr(10, 2)}-${value.substr(12, 2)}`sex = (value.substr(16, 1) % 2) || 2}}</script></body></html>

运行结果如下

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。