首页 > 解决方案 > 从给定的身份证号码获取出生日期

问题描述

我想从给定的身份证号码中检索出生日期。以下是我尝试使用子字符串的方法。

 handleDOB = () => {
    const { idNumber } = this.state;
    if (idNumber !== '') {
      const day = Number(idNumber.substring(4, 6));
      const month = Number(idNumber.substring(2, 4));
      const year = Number(19 + idNumber.substring(0, 2));
      const dob = year + '/' + month + '/' + day;
      console.log(day);
      console.log(month);
      console.log(year);
      console.log(dob);
      return dob;
    }
  }

标签: javascriptreactjs

解决方案


让我总结一下我在这个答案中的评论:

1) 在idNumber州内存储年份的一种更安全的方法是存储整个 4 位数字,例如1985...... 这将防止任何混淆,即区分18851985

2)当涉及到附加前导0时,您可以使用padStart方法。这将确保只有一位数的月份,例如 March ( 3),将被格式化为03

const formatMonth = (month, figures) =>(month.toString()).padStart(2, '0')

console.log(formatMonth(5, 2));
console.log(formatMonth(11, 2));


推荐阅读