想要知道自己的年龄,出生日期和性别,或者是别人的,给我个身份证号,我就可以知道,看下面代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| static validateIdNumberToAgeYear(str){ let date = new Date(); let currentYear = date.getFullYear(); let currentMonth = date.getMonth() + 1; let currentDate = date.getDate(); let idxSexStart = str.length == 18 ? 16 : 14; let birthYearSpan = str.length == 18 ? 4 : 2;
let year; let month; let day; let sex; let birthday; let age;
let idxSex = 1 - str.substr(idxSexStart, 1) % 2; sex = idxSex == '1' ? '女' : '男'; year = (birthYearSpan == 2 ? '19' : '') + str.substr(6, birthYearSpan); month = str.substr(6 + birthYearSpan, 2); day = str.substr(8 + birthYearSpan, 2); birthday = year + '-' + month + '-' + day; let monthFloor = (currentMonth < parseInt(month,10) || (currentMonth == parseInt(month,10) && currentDate < parseInt(day,10))) ? 1 : 0; age = currentYear - parseInt(year,10) - monthFloor;
if(age >= 18){ return true; } return false; }
|
我这里只是做了一个年龄的判断。