JS根据身份证号码获取性别

说明

身份证号码长度:一代(共15位)、二代(共18位)

性别代码的位置:一代(第15位)、二代(第17位)

判断性别的依据:男基女偶

根据上方这些已知内容,我们可以编写以下函数。

代码示例

/**
 * 按身份证号码获取性别
 * @idNumber 身份证号码
 * @return 男:male;女:female;异常(身份证号码为空或长度、格式错误):undefined
 */
function getGenderByIdNumber(idNumber) {
    if (idNumber) {
        let genderCode; // 性别代码
        if (idNumber.length == 18) { // 二代身份证号码长度为18位(第17位为性别代码)
            genderCode = idNumber.charAt(16);
        } else if (idNumber.length == 15) { // 一代身份证号码长度为15位(第15位为性别代码)
            genderCode = idNumber.charAt(14);
        }
        if (genderCode && !isNaN(genderCode)) {
            // 两代身份证号码的性别代码都为男奇女偶
            if (parseInt(genderCode) % 2 == 0) {
                return 'female';
            }
            return 'male';
        }
    }
}

你可能感兴趣的:(JQuery,js,javascript,jquery,前端)