性别:<select name="gender" id="gender">
<option value="">选择性别</option>
<option value="male">男</option>
<option value="female">女</option>
</select>
生日:<input type="text" name="birthday_en" value="" id="birthday_en" />
身份证:<input type="text" id="taxId_en" value="" id="null_taxId_en" />
JQuery 代码:
$("#taxId_en).change(function(){
$("#gender").val("");
$("#birthday_en").val("");
var idCardNo=$(this).val();
var birthDayCode;
var genderIndex;
if(idCardNo.length==15 && check15IdCardNo(idCardNo)){
birthDayCode = '19' + idCardNo.substring(6,12);
genderIndex=14;
}else if(idCardNo.length==18 && check18IdCardNo(idCardNo)){
birthDayCode = idCardNo.substring(6,14);
genderIndex=16;
}else{
return ;
}
setGender (idCardNo,genderIndex);
setBirthDate (birthDayCode);
});function setGender(idCardNo, genderIndex) {
if (parseInt(idCardNo.charAt(genderIndex)) % 2 == 0) {
$("#gender").val("female");
} else {
$("#gender").val("male");
}
}
function setBirthDate(birthDayCode) {
if (checkBirthDateCode(birthDayCode)) {
var birthDate = birthDayCode.substring(0, 4) + "-" + birthDayCode.substring(4, 6) + "-" + birthDayCode.substring(6);
$("#birthday_en").val(birthDate);
}
}
function check15IdCardNo(idCardNo) {
var check = /^[1-9]\d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}$/.test(idCardNo);
return check;
}
function check18IdCardNo(idCardNo) {
var check = /^[1-9]\d{5}[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}(\d|x|X)$/.test(idCardNo);
return check;
}
function checkBirthDateCode(birthDayCode) {
var check = /^[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))$/.test(birthDayCode);
if (!check) {
return false;
}
var yyyy = parseInt(birthDayCode.substring(0, 4), 10);
var mm = parseInt(birthDayCode.substring(4, 6), 10);
var dd = parseInt(birthDayCode.substring(6), 10);
var xdata = new Date(yyyy, mm - 1, dd);
if (xdata > new Date()) {
return false;
} else if ((xdata.getFullYear() == yyyy) && (xdata.getMonth() == mm - 1) && (xdata.getDate() == dd)) {
return true;
} else {
return false;
}
}