/**
* 根据身份证号码计算出性别和年龄
* @param idNumber
* @returns {{gender: (string), age: number}}
*/
calculateAgeAndGender(idNumber) {
// 提取出生日期
let year = idNumber.substring(6, 10);
let month = idNumber.substring(10, 12);
let day = idNumber.substring(12, 14);
// 计算年龄
let currentDate = new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
let age = currentYear - parseInt(year);
if (
currentMonth < parseInt(month) ||
(currentMonth === parseInt(month) && currentDay < parseInt(day))
) {
age--; // 生日还没过,年龄减一
}
// 提取性别位
const genderCode = idNumber.substring(16, 17);
const gender = genderCode % 2 === 0 ? "女" : "男";
return {
age: age,
gender: gender
};
}
根据身份证号码提取出性别和年龄
于 2023-06-19 16:35:32 首次发布