1,身份证号码得到出生日期、性别、年龄。
/* 出生日期 */
const IdCardToBirth = function(UUserCard) {
return UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14);
}
/* 性别 */
const IdCardToSex = function(UUserCard) {
if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {
return "M";
} else {
return "F";
}
}
/* 年龄 */
const IdCardToAge = function(UUserCard) {
let myDate = new Date();
let month = myDate.getMonth() + 1;
let day = myDate.getDate();
let age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1;
if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
age++;
}
return age;
}
2,出生日期得到年龄
/**
strBirthday //出生日期,格式1990-01-01
*/
const BirthdayToAge = function(strBirthday){
let returnAge,
strBirthdayArr=strBirthday.split("-"),
birthYear = strBirthdayArr[0],
birthMonth = strBirthdayArr[1],
birthDay = strBirthdayArr[2],
d = new Date(),
nowYear = d.getFullYear(),
nowMonth = d.getMonth() + 1,
nowDay = d.getDate();
if(nowYear == birthYear){
returnAge = 0;//同年
}
else{
let ageDiff = nowYear - birthYear ; //年差
if(ageDiff > 0){
if(nowMonth == birthMonth) {
let dayDiff = nowDay - birthDay;//日差
if(dayDiff < 0) {
returnAge = ageDiff - 1;
}else {
returnAge = ageDiff;
}
}else {
let monthDiff = nowMonth - birthMonth;//月份差
if(monthDiff < 0) {
returnAge = ageDiff - 1;
}
else {
returnAge = ageDiff;
}
}
}else {
returnAge = -1;//返回-1 表示出生日期在今天之后
}
}
return returnAge;//返回年龄
}