Js根据身份证号获取出生日期、性别和年龄

/**
 * 传入身份证号码,获取出生日期、性别和年龄
 * @param IdCard 身份证号码
 * @param type 1 获取出生日期
 *             2 获取性别
 *             3 获取年龄,年龄小于1岁时默认为1岁
 */
function IdCard (IdCard, type) {
          
   
    if (type === 1) {
          
   
        //获取出生日期
        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 "男"
        } else {
          
   
            return "女"
        }
    }
    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
    }
}
经验分享 程序员 微信小程序 职场和发展