123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- //身份证号验证
- 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,
- };
- };
|