根据身份证号获取信息

1、根据身份证号获取年龄

export function analyzeIDCard(IDCard){
	let age = 0,yearBirth,monthBirth,dayBirth;
	//获取用户身份证号码
	let userCard = IDCard;
	//如果身份证号码为undefind则返回空
	if(!userCard){
		return age;
	}
	let reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/; //验证身份证号码的正则
	if (reg.test(userCard)) {
		if (userCard.length == 15) {
				let org_birthday = userCard.substring(6, 12);
				//获取出生年月日
				yearBirth = "19" + org_birthday.substring(0, 2);
				monthBirth = org_birthday.substring(2, 4);
				dayBirth = org_birthday.substring(4, 6);
		    } else if (userCard.length == 18) {
				//获取出生年月日
				yearBirth = userCard.substring(6,10);
				monthBirth = userCard.substring(10,12);
				dayBirth = userCard.substring(12,14);
				
			}
			//获取当前年月日并计算年龄
			let myDate = new Date();
			let monthNow = myDate.getMonth() + 1;
			let dayNow = myDate.getDate();
			let age = myDate.getFullYear() - yearBirth;
			if(monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)){
				age--;
			}
			//返回年龄
			return age;
	} else {
		return ''
	}
	
}

2、根据身份证号获取出生日期和性别

export function getIdInfo(cardNo) {
  let reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/; //验证身份证号码的正则
  if(reg.test(cardNo)){ // 身份证号码是否合法
      let birthday = "";
      let gender = "";
      if (cardNo.length == 15) {
          let org_birthday = cardNo.substring(6, 12);
          let org_gender = cardNo.substring(14, 15);
          birthday = "19" + org_birthday.substring(0, 2) + "-"
              + org_birthday.substring(2, 4) + "-"
              + org_birthday.substring(4, 6);
          gender = org_gender % 2 == 1 ? "male" : "female";
      } else if (cardNo.length == 18) {
          let org_birthday = cardNo.substring(6, 14);
          let org_gender = cardNo.substring(16, 17);
          birthday = org_birthday.substring(0, 4) + "-"
              + org_birthday.substring(4, 6) + "-"
              + org_birthday.substring(6, 8);
          gender = org_gender % 2 == 1 ? "male" : "female";
      }
      return birthday
  }else{
      return false;
  }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值