很简单,因为这是将输入框中的身份证号获取并校检,然后使后面的生日,性别,年龄输入框的值随之变换
首先,当然是要有那几个输入框(身份证,生日,性别,年龄)
HTML部分(输入框):
<!-- 绑定input事件 --> <input type="text" id="zheng" oninput="GetBir_and_Sex()" placeholder="身份证号"> <input type="text" id="xing" disabled="disabled" placeholder="性别"> <input type="date" id="sheng" disabled="disabled" placeholder="生日"> <input type="date" id="nian" disabled="disabled" placeholder="年龄">
JS部分(功能):
只需要把绑定的input名换一下,还有这几个获取的输入框的名字换一下就可以啦!!!
//生日 function GetBir_and_Sex() { //给输入身份证号的输入框绑定input // 获取身份证号的input标签 let IDNu = document.getElementById('zheng'); console.log(IDNu); var re = /^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/; if (!re.test(IDNu.value)) { // alert("身份证号码有误,请重新填写!"); IDNu.focus(); //location.replace(""); return false; } var str = IDNu.value; console.log(str); var born_border = document.getElementById('sheng');// 获取生日的input标签 try { if (typeof(eval(born_border)) == "undefined") { //alert('参数born_border为空'); } else { born_border.value = str.substring(6, 10) + "-" + str.substring(10, 12) + "-" + str.substring(12, 14); } } catch (e) { //alert('参数born_border错误'); } //年龄 var ages = document.getElementById(nian); var myDate = new Date(); var month = myDate.getMonth() + 1; var day = myDate.getDate(); var age = myDate.getFullYear() - str.substring(6, 10) - 1; try { if (typeof(eval(ages)) == "undefined") { //alert('参数born_border为空'); } else { if (str.substring(10, 12) < month || str.substring(10, 12) == month && str.substring(12, 14) <= day) { age++; } ages.value = age; } } catch (e) { //alert('参数born_border错误'); } //性别 let sew = '' var sec = str.substring(16, 17); var sex = document.getElementById('xing');// 获取性别的input标签 if (sec % 2 == 0) { sew = "女"; } else { sew = "男"; } console.log(sew); sex.value = sew; for (i = 0; i < sex.length; i++) if (sex.options[i].value == sew) { sex.options[i].selected = true; } }