js获取身份证获得生日和年龄

博客给出两段JavaScript代码。一段根据生日字符串计算周岁年龄,通过对比出生年月日与当前年月日得出结果;另一段根据身份证号获取生日和性别,区分15位和18位身份证号进行处理,最终返回包含生日和性别的数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--根据生日得到年龄

//1988-12-02

function jsGetAge(strBirthday) {
 var returnAge;
 var strBirthdayArr = strBirthday.split("-");
 var birthYear = strBirthdayArr[0];
 var birthMonth = strBirthdayArr[1];
 var birthDay = strBirthdayArr[2];

 d = new Date();
 var nowYear = d.getYear();
 var nowMonth = d.getMonth() + 1;
 var nowDay = d.getDate();

 if (nowYear == birthYear) {
  returnAge = 0;//同年 则为0岁
 } else {
  var ageDiff = nowYear - birthYear; //年之差
  if (ageDiff > 0) {
   if (nowMonth == birthMonth) {
    var dayDiff = nowDay - birthDay;//日之差
    if (dayDiff < 0) {
     returnAge = ageDiff - 1;
    } else {
     returnAge = ageDiff;
    }
   } else {
    var monthDiff = nowMonth - birthMonth;//月之差
    if (monthDiff < 0) {
     returnAge = ageDiff - 1;
    } else {
     returnAge = ageDiff;
    }
   }
  } else {
   returnAge = -1;//返回-1 表示出生日期输入错误 晚于今天
  }
 }
 return returnAge;//返回周岁年龄

}
   

 

--根据身份证号得到生日和性别

// 返回生日和性别
// ['1981-01-01','1']
function getBirthdayAndSex(idcard) {
 var output = new Array(2);
 output[0] = "";
 output[1] = "";
 if (idcard.length == 15) {
  var nian, yue, ri, shengri;

  nian = idcard.substr(6, 2);
  yue = idcard.substr(8, 2);
  ri = idcard.substr(10, 2);
  shengri = "19" + nian + "-" + yue + "-" + ri;
  output[0] = shengri;

  var sex = (idcard.substr(14, 1) % 2);
  output[1] = sex;
 } else if (idcard.length == 18) {
  var nian, yue, ri, shengri;

  nian = idcard.substr(6, 4);
  yue = idcard.substr(10, 2);
  ri = idcard.substr(12, 2);
  shengri = nian + "-" + yue + "-" + ri;
  output[0] = shengri;

  var sex = (idcard.substr(16, 1) % 2);
  output[1] = sex;
 }

 return output;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值