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

当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、前端面试题库 (面试必备) 推荐:★★★★★

地址:前端面试题库

相关推荐
极小狐34 分钟前
极狐GitLab 议题权重有什么作用?
开发语言·数据库·chrome·c#·gitlab
艾小逗3 小时前
vue3中的effectScope有什么作用,如何使用?如何自动清理
前端·javascript·vue.js
董先生_ad986ad4 小时前
C# 中的 `lock` 关键字本质
开发语言·c#
元亓亓亓4 小时前
Java后端开发day36--源码解析:HashMap
java·开发语言·数据结构
道剑剑非道4 小时前
QT 打包安装程序【windeployqt.exe】报错c000007d原因:Conda巨坑
开发语言·qt·conda
小邓儿◑.◑5 小时前
C++武功秘籍 | 入门知识点
开发语言·c++
小小小小宇5 小时前
手写 zustand
前端
Hamm6 小时前
用装饰器和ElementPlus,我们在NPM发布了这个好用的表格组件包
前端·vue.js·typescript
明似水6 小时前
Flutter 弹窗队列管理:支持优先级的线程安全通用弹窗队列系统
javascript·安全·flutter
小小小小宇7 小时前
前端国际化看这一篇就够了
前端