js方法实现通过身份证号码获取出生日期和性别

本文介绍了一种从身份证号码中提取出生日期和性别的方法。通过分析身份证号的结构,利用JavaScript实现了出生日期和性别的自动识别。代码适用于15位和18位身份证号码,详细解释了每一步的实现原理。

实现方法如下所示

1.根据身份证号码获取出生日期

/**
* @param idCard
*/
function getBirth(idCard) {
    var birthday = "";
    if(idCard != null && idCard != ""){
        if(idCard.length == 15){
            birthday = "19"+idCard.slice(6,12);
        } else if(idCard.length == 18){
            birthday = idCard.slice(6,14);
        }   
        birthday = birthday.replace(/(.{4})(.{2})/,"$1-$2-");
        //通过正则表达式来指定输出格式为:1990-01-01
    }   
    return birthday;
}

代码中的if判断是因为一代身份证是15位,二代身份证是18位。但是现在第一代身份证已经失效了,所以不考虑也是可以的

2.根据身份证号码获取性别

/**
* @param idCard
*/
function getSex(idCard) {
    var sexStr = '';
    if (parseInt(idCard.slice(-2, -1)) % 2 == 1) {
        sexStr = 'man';
    }
    else {
        sexStr = 'woman';
    }
    return sexStr;
}

性别是根据身份证的倒数第二位来判断的,奇数为男生,偶数为女生

顺便说明:

字符串截取不要使用substr,因为ECMAscript没有对该方法进行标准化,因此反对使用它

转载于:https://www.cnblogs.com/chaoyueqi/p/10287621.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值