首页 > 代码库 > 从身份证中提取个人信息

从身份证中提取个人信息

15位身份证号码各位的含义: 
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码;
7-8位为出生年(默认19xx年出生);
9-10位为出生月;
11-12位为出生日;
13-15位为顺序号,其中第15位男为单数,女为双数;

18位身份证号码各位的含义: 
1-2位省、自治区、直辖市代码;
3-4位地级市、盟、自治州代码;
5-6位县、县级市、区代码;
7-10位为出生年(默认19xx年出生);
11-12位为出生月;
13-14位为出生日;
15-17位为顺序号,其中第17位男为单数,女为双数;
18位为校验位

以下为通过JS通过身份证获取个人信息的示例代码:

 1 function getPersonInfoFromCardId(cardId){ 2     var personInfo = {}; 3      4     if (cardId.length==15 ){ 5         var year=cardId.substr(6,2); 6         var month=cardId.substr(8,2); 7         var day=cardId.substr(10,2); 8         personInfo.birth = ‘19‘+year+‘-‘+month+‘-‘+day; 9         10         year = ‘19‘+year;11         var age=new Date().getFullYear()-year;12         personInfo.age = age;13         14         var sex=cardId.substr(11,3);15         if (sex %2 == 0){16             personInfo.sex = ‘女‘;17         }else{18             personInfo.sex = ‘男‘;19         }20     }21     22     if (cardId.length==18 ){23         var year=cardId.substr(6,4);24         var month=cardId.substr(10,2);25         var day=cardId.substr(12,2);26         personInfo.birth = year+‘-‘+month+‘-‘+day;27         28         var age=new Date().getFullYear()-year;29         personInfo.age = age;30         31         var sex=cardId.substr(17,1);32         if (sex %2 == 0){33             personInfo.sex = ‘女‘;34         }else{35             personInfo.sex = ‘男‘;36         }37     }38     39     return personInfo ;40 }

 

从身份证中提取个人信息