//身份证号验证 export const getIdcardInfo = (idcard_no, validateAge = [0, 100]) => { let validate = /^[1-9]\d{5}(19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test( idcard_no ); if (validate !== true) return false; let sex = null; let birth = null; let myDate = new Date(); let month = myDate.getMonth() + 1; let day = myDate.getDate(); let age = 0; if (idcard_no.length === 18) { age = myDate.getFullYear() - idcard_no.substring(6, 10) - 1; sex = idcard_no.substring(16, 17); birth = idcard_no.substring(6, 10) + "-" + idcard_no.substring(10, 12) + "-" + idcard_no.substring(12, 14); age++; } else if (idcard_no.length === 15) { age = myDate.getFullYear() - idcard_no.substring(6, 8) - 1901; sex = idcard_no.substring(13, 14); birth = "19" + idcard_no.substring(6, 8) + "-" + idcard_no.substring(8, 10) + "-" + idcard_no.substring(10, 12); age++; } // 验证年龄 if (validateAge instanceof Array) { if (age < validateAge[0] || age > validateAge[1]) { return false; } } if (sex % 2 === 0) sex = "0"; else sex = "1"; return { age, sex, birth, }; };