javascript - 从给定的身份证号码获取出生日期
问题描述
我想从给定的身份证号码中检索出生日期。以下是我尝试使用子字符串的方法。
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;
}
}
解决方案
让我总结一下我在这个答案中的评论:
1) 在idNumber
州内存储年份的一种更安全的方法是存储整个 4 位数字,例如1985.....
. 这将防止任何混淆,即区分1885
和1985
。
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));
推荐阅读
- c# - Visual Studio 2019 无法识别 C# Linq 方法
- php - 无法连接到 Mac 上的 localhost
- python - 将字符串转换为 pygame.key
- c - 在C中替换字符串中的字符
- uitableview - 设置 alpha 对 UITableView 标题视图没有影响?
- neural-network - 多标签文本分类CNN
- c++ - unique_ptr 所有权疯狂
- python - Polarplot:要绘制的两个列表的不同颜色
- json - 加载作为 AJAX 对象计算的返回值
- javascript - React js Firebase 身份验证无法正常工作