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

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

地址:前端面试题库

相关推荐
程序猿阿伟2 分钟前
《C++高效图形用户界面(GUI)开发:探索与实践》
开发语言·c++
qbbmnnnnnn2 分钟前
【WebGis开发 - Cesium】如何确保Cesium场景加载完毕
前端·javascript·vue.js·gis·cesium·webgis·三维可视化开发
暗恋 懒羊羊10 分钟前
Linux 生产者消费者模型
linux·开发语言·ubuntu
五味香26 分钟前
C++学习,信号处理
android·c语言·开发语言·c++·学习·算法·信号处理
梓䈑43 分钟前
【C语言】自定义类型:结构体
c语言·开发语言·windows
f8979070701 小时前
layui动态表格出现 横竖间隔线
前端·javascript·layui
鱼跃鹰飞1 小时前
Leecode热题100-295.数据流中的中位数
java·服务器·开发语言·前端·算法·leetcode·面试
小蜗笔记1 小时前
在Python中实现多目标优化问题(7)模拟退火算法的调用
开发语言·python·模拟退火算法
杨荧1 小时前
【JAVA开源】基于Vue和SpringBoot的水果购物网站
java·开发语言·vue.js·spring boot·spring cloud·开源