- 根据身份证号获取生日
export function getBirthdayByIdCard(idCard: string): string {
if (idCard.length === 15) {
return ['19' + idCard.substr(6, 2), idCard.substr(8, 2), idCard.substr(10, 2)].join('-')
} else if (idCard.length === 18) {
return [idCard.substr(6, 4), idCard.substr(10, 2), idCard.substr(12, 2)].join('-')
}
return ''
}
- 根据身份证号获取性别
export function getSexByIdCard(idCard: string): string {
if (idCard.length === 15) {
return ['女', '男'][idCard.substr(14, 1) % 2]
} else if (idCard.length === 18) {
return ['女', '男'][idCard.substr(16, 1) % 2]
}
return ''
}
- 根据身份证号码计算年龄
export function getAgeByIdCard(idCard: string): string {
const sexAndAge = {}
const userCard = idCard
if (!userCard) {
return sexAndAge
}
const yearBirth = userCard.substring(6, 10)
const monthBirth = userCard.substring(10, 12)
const dayBirth = userCard.substring(12, 14)
const myDate = new Date()
const monthNow = myDate.getMonth() + 1
const dayNow = myDate.getDate()
let age = myDate.getFullYear() - yearBirth
if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {
age--
}
sexAndAge.age = age
return sexAndAge.age
}