JS正则判断身份证合法化
//这个可以验证15位和18位的身份证,并且包含生日和校验位的验证 function isIdCardNo() { var tmpStr = ""; var num = $('#idNumber').val(); //num = num.toUpperCase(); //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。 if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))){ //$.messager.alert('提示', '输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字,18位号码末位可以为数字或X'); $.messager.alert('提示', '身份证号不合法'); return false; }else{ if (num.length == 15) { tmpStr = num.substring(6, 12); tmpStr = "19" + tmpStr; tmpStr = tmpStr.substring(0, 4) + "-" + tmpStr.substring(4, 6) + "-" + tmpStr.substring(6); } else { tmpStr = num.substring(6, 14); tmpStr = tmpStr.substring(0, 4) + "-" + tmpStr.substring(4, 6) + "-" + tmpStr.substring(6); } if (isValidDate(tmpStr)) { $('#birthday').datebox('setValue', tmpStr); } else { $.messager.alert('提示', '身份证号不合法'); //$('#birthday').datebox('setValue', ''); return false; } } } //验证日期是否合法 function isValidDate(sText) { var reDate = /(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)/; return reDate.test(sText); }
相关推荐
梦的天空 2020-08-25
天高任鸟飞 2020-06-13
Darklovy 2020-06-11
杨德龙 2020-11-11
不要皱眉 2020-10-14
满地星辰 2020-09-16
lrjnlp 2020-07-19
qidu 2020-07-05
flyingssky 2020-07-05
flyingssky 2020-06-27
RuoShangM 2020-06-17
qidu 2020-06-08
Darklovy 2020-06-07
jyj00 2020-06-06
flyingssky 2020-06-04
山水沐光 2020-05-26
山水沐光 2020-05-25