获得身份证信息

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.length15 ){
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 }

你可能感兴趣的:(获得身份证信息)