根据身份证获取生日、性别、年龄

当type=1时获取出生日期,type=2时获取性别,type=3时获取年龄

javascript 复制代码
 /*
    * 当type=1时获取出生日期,type=2时获取性别,type=3时获取年龄
    * */ 
function IdCard(IdCard, type) {
        if (type === 1) {
            //获取出生日期
            let birthday = IdCard.substring(6, 10) + "-" + IdCard.substring(10, 12) + "-" + IdCard.substring(12, 14)
            return birthday
        }
        if (type === 2) {
            //获取性别
            if (parseInt(IdCard.substr(16, 1)) % 2 === 1) {
                return 1 //男
            } else {
                return 2 //女
            }
        }
        if (type === 3) {
            //获取年龄
            var ageDate = new Date()
            var month = ageDate.getMonth() + 1
            var day = ageDate.getDate()
            var age = ageDate.getFullYear() - IdCard.substring(6, 10) - 1
            if (IdCard.substring(10, 12) < month || IdCard.substring(10, 12) === month && IdCard.substring(12, 14) <= day) {
                age++
            }
            if (age <= 0) {
                age = 1
            }
            return age
        }
}

给大家推荐一个实用面试题库

1、前端面试题库 (面试必备) 推荐:★★★★★

地址:前端面试题库

相关推荐
光影少年1 分钟前
Promise状态和方法都有哪些,以及实现原理
javascript·promise·掘金·金石计划
雾岛听风来2 分钟前
k9s监控k8s集群工具
前端
用户87261342418512 分钟前
封装组件库并上传npm源
前端
Mintopia2 分钟前
🌐 Web3.0 时代:AIGC 如何赋能去中心化内容生态?
前端·javascript·aigc
鹏多多3 分钟前
前端项目eslint配置选项详细解析
前端·vue.js·react.js
然我4 分钟前
面试官:这道 Promise 输出题你都错?别再踩 pending 和状态凝固的坑了!(附超全解析)
前端·javascript·面试
bug_kada6 分钟前
让你彻底明白什么是闭包(附常见坑点)
前端·javascript
吴楷鹏7 分钟前
TypeScript 为什么要增加一个 satisfies?
前端·typescript
光影少年7 分钟前
js异步解决方案以及实现原理
前端·javascript·掘金·金石计划
江公望10 分钟前
Qt QML实现无边框窗口
开发语言·qt