js 通过身份证号识别出身份信息

该函数`analyzeIDCard`接收身份证号码作为输入,解析出省份、性别(基于奇偶位判断)、出生日期,并计算当前年龄,返回包含这些信息的对象。

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

用于身份证信息的识别:省份、年龄、性别、出生日期。

 analyzeIDCard(IDCard) {
    const sexAndAge = {};
    // 获取用户身份证号码
    const userCard = IDCard;
    // 如果身份证号码为undefind则返回空
    if (!userCard) {
      return sexAndAge;
    }
    const province = {
      11: '北京市',
      12: '天津市',
      13: '河北省',
      14: '山西省',
      15: '内蒙古自治区',
      21: '辽宁省',
      22: '吉林省',
      23: '黑龙江省',
      31: '上海省',
      32: '江苏省',
      33: '浙江省',
      34: '安徽省',
      35: '福建省',
      36: '江西省',
      37: '山东省',
      41: '河南省',
      42: '湖北省',
      43: '湖南省',
      44: '广东省',
      45: '广西壮族自治区',
      46: '海南省',
      50: '重庆省',
      51: '四川省',
      52: '贵州省',
      53: '云南省',
      54: '西藏自治区',
      61: '陕西省',
      62: '甘肃省',
      63: '青海省',
      64: '宁夏回族自治区',
      65: '新疆维吾尔自治区',
      71: '台湾省',
      81: '香港特别行政区',
      82: '澳门特别行政区',
    };
    // 获取省份
    sexAndAge.province = province[parseInt(userCard.substr(0, 2))]
    // 获取性别
    if (parseInt(userCard.substr(16, 1), 10) % 2 === 1) {
      sexAndAge.sex = '男';
    } else {
      sexAndAge.sex = '女';
    }
    // 获取出生年月日
    sexAndAge.birthday = userCard.substring(6, 10) + "-" + userCard.substring(10, 12) + "-" + userCard.substring(12, 14)
    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.getDay();
    let age = myDate.getFullYear() - yearBirth;
    if (monthNow < monthBirth || (monthNow === monthBirth && dayNow < dayBirth)) {
      age -= 1;
    }
    // 得到年龄
    sexAndAge.age = age;
    // 返回
    return sexAndAge;
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值