JS通过身份证号码获取出生年月日和性别

摘要:String.substr(start,length) -- start,开始截取下标 length,截取的长度 ;String.replace(/(.{4})(.{2})/,\"$1-$2-\"); --正则,$1-,$2- 分别是引用,前面正则匹配到的字符串

了解两个 API 

String.substr(start,length)  -- start,开始截取下标  length,截取的长度 
String.replace(/(.{4})(.{2})/,"$1-$2-");  --正则,$1-,$2- 分别是引用,前面正则匹配到的字符串,然后加- 15位是第一代身份证,18位是现在普遍使用的 第二代身份证 


1.身份证号获取 出生年月日 

function getBirthdayByIdNO (IdNO){
      let birthday = "";
      if (IdNO.length==18) {
        birthday = IdNO.substr(6,8);
        return birthday.replace(/(.{4})(.{2})/,"$1-$2-");
      }else if(IdNO.length==15){
        birthday = "19"+IdNO.substr(6,6);
        return birthday.replace(/(.{4})(.{2})/,"$1-$2-");
      }else{
        return ""; 
      }
}


2.身份证号获取 性别 

// F 女 , M 男 (female 女,male 男)
function getSexByIdNO(IdNO){
      if (IdNO.length==18) {
        return IdNO.charAt(16)%2==0?"F":"M";
      }else if(IdNO.length==15){
        return IdNO.charAt(14)%2==0?"F":"M";
      }else{
        return "";
      }
}


 

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_5077