身份證之js獲取性別 年齡 出生日期

碎破星空發表於2017-12-04

/**
 * 傳入身份證號碼和num.獲取出生日期,性別跟年齡
 * @param UUserCard 身份證號碼
 * @param num 1獲取出生日期
 *            2 獲取性別
 *            3 獲取年齡,年齡小於1歲的時候預設為1歲
 * @returns {*}
 * @constructor
 */
function IdCard(UUserCard,num){
    if(num==1){
        //獲取出生日期
        birth=UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14);
        return birth;
    }
    if(num==2){
        //獲取性別
        if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {
            //男
            return "男";
        } else {
            //女
            return "女";
        }
    }
    if(num==3){
        //獲取年齡
        var myDate = new Date();
        var month = myDate.getMonth() + 1;
        var day = myDate.getDate();
        var age = myDate.getFullYear() -   UUserCard.substring(6, 10) - 1;
        if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
            age++;
        }
        if(age <= 0){
            age = 1;
        }
        return age;
    }
}

相關文章