js根据18位身份证计算出生年月和年龄
时间: 2024-09-13 15:12:22 浏览: 71
根据身份证号码获取性别、出生日期、籍贯省市的js示例
5星 · 资源好评率100%
在JavaScript中,根据18位身份证号码计算出生年月和年龄通常涉及到一些特定的算法。中国的身份证号码有18位,前6位代表地区,接下来8位代表出生日期(YYYYMM),倒数第2位校验码,最后一位性别码。这里我们主要关注出生日期。
首先,你需要从身份证号码提取出出生日期,这可以通过字符串切片获取到。然后,你可以将出生年份和月份转换成日期对象,接着计算当前日期与该出生日期之间的差值来得到年龄。下面是一个简单的示例:
```javascript
function getBirthDateAndAge(idCard) {
// 身份证前8位表示出生日期
const birthYear = parseInt(idCard.slice(6, 10));
const birthMonth = parseInt(idCard.slice(10, 12));
const birthDay = parseInt(idCard.slice(12, 14));
// 创建日期对象
const birthDate = new Date(`${birthYear}-${birthMonth}-${birthDay}`);
// 当前日期
const currentDate = new Date();
// 计算年龄
const age = currentDate.getFullYear() - birthYear;
if (currentDate.getMonth() < birthMonth || (currentDate.getMonth() === birthMonth && currentDate.getDate() < birthDay)) {
age--;
}
return { birthDate, age };
}
// 使用示例
const idCard = '123456789012345678';
const { birthDate, age } = getBirthDateAndAge(idCard);
console.log('出生日期:', birthDate);
console.log('年龄:', age);
```
阅读全文