通过身份证号获取用户生日

作者:吱韩菌
开发工具:Visual Studio 2015
撰写时间:2019-6-26

在使用的众多软件中,都会涉及到填写用户的基本信息,无论是流程过于繁杂、还是填写的信息较多,都会影响用户对该款软件的体验,从而会下降用户对它的好感度。

今天要介绍的是注册中,在输入框中用户身份证号后自动获取到用户的生年月日,减少用户填写信息的时间。
在这里插入图片描述
在这里插入图片描述
通过身份证号获取用户生日_第1张图片

下面主要讲解的是JS部分,使用的插件为:jquery-3.2.1.min.js
在这里为了更容易理解,开始部分我所使用的是change变化事件,change理解的意思就是当获取的内容改变后,在执行内部代码。
CertificateNumber “证件号码”输入框中的ID,当输入框填写证件号码后,执行·change事件内部代码,var CertificateNumber = $("#CertificateNumber").val(); 获取到输入框中的值,
接下来用到了if判断CertificateNumber.length == 18,判断输入的身份证号是否有18位数,如果没有的话就提示用户重新输入。
然后需要截取身份证号上的数字信息,首先截取额是年份,var year = CertificateNumber.substring(6, 10); substring是JQuery中的方法,substring(6, 10);这段简单理解为截取身份证号的第6未数之后,直到第10位数的四位数字(也就是出生的年份),用同样的方法可以截取出月分和日期,全部截取完之后就要开始拼接字符串了,
var Birthay = year + ‘-’ + month + ‘-’ + day; 这段就是将截取的年月日进行拼接,‘_’的作用就是将日期分隔开,在页面上的效果就会是2000-02-29这样子了。

#Birthay是“生日”输入框的ID,获取到它之后用拼接好的Birthay生日日期让它显示在输入框中。
最后还有一个判断,就是根据身份证号的第17个数字判断男女(奇数为男性,偶数为女性),同样,用substring(16, 17) 数字获取到身份证号的第17位数,(16, 17) % 2 == 0然后用获取到的数字除以2,==0就是余数是否为0,根据最后的余数判断男女(余数为0是女性,不为0就是男性)

你可能感兴趣的:(前端)