js获取身份证信息

js获取身份证信息(输入前十七位计算第十八位)
身份证号码是由18位数字组成的,他们分别表示:

  1. 前1、2位数字表示:所在省份的代码;
  2. 前3、4位数字表示:所在城市的代码;
  3. 前5、6位数字表示:所在区县的代码;
  4. 第7~14位数字表示:出生年、月、日;
  5. 第15、16位数字表示:所在地的派出所的代码;
  6. 第17位数字表示性别:奇数表示男性,偶数表示女性;
  7. 第18位数字是校验码:校验码可以是数字0-9,10用X表示。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        while (true){
    
    
            var sfz=prompt("请输入身份证前17位:");
            if (sfz.length!=17){
    
    
                alert("请按要求输入,你当前输入了"+sfz.length+"位");
            }else{
    
    
            	//截取身份证号码的前十七位
                var sfz_1=Number(sfz.substring(0,1));
                var sfz_2=Number(sfz.substring(1,2));
                var sfz_3=Number(sfz.substring(2,3));
                var sfz_4=Number(sfz.substring(3,4));
                var sfz_5=Number(sfz.substring(4,5));
                var sfz_6=Number(sfz.substring(5,6));
                var sfz_7=Number(sfz.substring(6,7));
                var sfz_8=Number(sfz.substring(7,8));
                var sfz_9=Number(sfz.substring(8,9));
                var sfz_10=Number(sfz.substring(9,10));
                var sfz_11=Number(sfz.substring(10,11));
                var sfz_12=Number(sfz.substring(11,12));
                var sfz_13=Number(sfz.substring(12,13));
                var sfz_14=Number(sfz.substring(13,14));
                var sfz_15=Number(sfz.substring(14,15));
                var sfz_16=Number(sfz.substring(15,16));
                var sfz_17=Number(sfz.substring(16,17));
                var sfz_18,jisuan
                jisuan=(sfz_1*7+sfz_2*9+sfz_3*10+sfz_4*5+sfz_5*8+sfz_6*4+sfz_7*2+sfz_8*1+sfz_9*6+sfz_10*3+sfz_11*7+sfz_12*9+sfz_13*10+sfz_14*5+sfz_15*8+sfz_16*4+sfz_17*2)%11
                document.write("如果输出有误,请检查您前十七位输入是否正确!")
                document.write("<p>")
                if (jisuan==0){
    
    
                    alert("你身份证号码最后的一位是:1");
                    sfz_18=1;
                    document.write("你身份证号码最后的一位是:1");
                }
                else if (jisuan==1){
    
    
                    alert("你身份证号码最后的一位是:0");
                    sfz_18=0;
                    document.write("你身份证号码最后的一位是:0");
                }
                else if (jisuan==2){
    
    
                    alert("你身份证号码最后的一位是:X");
                    sfz_18="X";
                    document.write("你身份证号码最后的一位是:X");
                }
                else if (jisuan==3){
    
    
                    alert("你身份证号码最后的一位是:9");
                    sfz_18=9;
                    document.write("你身份证号码最后的一位是:9");
                }
                else if (jisuan==4){
    
    
                    alert("你身份证号码最后的一位是:8");
                    sfz_18=8;
                    document.write("你身份证号码最后的一位是:8");
                }
                else if (jisuan==5){
    
    
                    alert("你身份证号码最后的一位是:7");
                    sfz_18=7;
                    document.write("你身份证号码最后的一位是:7");
                }
                else if (jisuan==6){
    
    
                    alert("你身份证号码最后的一位是:6");
                    sfz_18=6;
                    document.write("你身份证号码最后的一位是:6");
                }
                else if (jisuan==7){
    
    
                    alert("你身份证号码最后的一位是:5");
                    sfz_18=5;
                    document.write("你身份证号码最后的一位是:5");
                }
                else if (jisuan==8){
    
    
                    alert("你身份证号码最后的一位是:4");
                    sfz_18=4;
                    document.write("你身份证号码最后的一位是:4");
                }
                else if (jisuan==9){
    
    
                    alert("你身份证号码最后的一位是:3");
                    sfz_18=3;
                    document.write("你身份证号码最后的一位是:3");
                }
                else{
    
    
                    alert("你身份证号码最后的一位是:2");
                    sfz_18=2;
                    document.write("你身份证号码最后的一位是:2");
                }
                document.write("<p>")
                var all=""+sfz_1+sfz_2+sfz_3+sfz_4+sfz_5+sfz_6+sfz_7+sfz_8+sfz_9+sfz_10+sfz_11+sfz_12+sfz_13+sfz_14+sfz_15+sfz_16+sfz_17+sfz_18
                document.write("你完整的身份证号码是:"+all)
                document.write("<p>")
                //根据身份证号第十七位计算性别,偶数为女,奇数为男
                if (sfz_17%2==0){
    
    
                    document.write("你的性别为:女")
                }
                else{
    
    
                    document.write("你的性别为:男")
                }
                document.write("<p>");
                //计算年龄
                var data=new Date() //获取当前年份,当前年份减去出生年份
                var age=data.getFullYear()-(sfz_7*1000+sfz_8*100+sfz_9*10+sfz_10);
                document.write("你的年龄为:"+age);
                document.write("<p>");
                // 身份证前两位得出籍贯
                sfz_1_2=sfz_1*10+sfz_2;
                var huabei={
    
    11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙"}
                for (var ii=11;ii<=15;ii++){
    
    
                    if (sfz_1_2==ii){
    
    
                        suyi_1 = huabei[ii]
                        document.write("您的籍贯为:",suyi_1)
                    }
                }
                var dongbei={
    
    21:"辽宁",22:"吉林",23:"黑龙江"}
                for (var jj=21;jj<=15;jj++){
    
    
                    if (sfz_1_2==jj){
    
    
                        suyi_2 = dongbei[jj]
                        document.write("您的籍贯为:",suyi_2)
                    }
                }
                var huadong={
    
    31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东"}
                for (var kk=31;kk<=37;kk++){
    
    
                    if (sfz_1_2==kk){
    
    
                        suyi_3 = huadong[kk]
                        document.write("您的籍贯为:",suyi_3)
                    }
                }
                var zhongnan={
    
    41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南"}
                for (var yy=41;yy<=46;yy++){
    
    
                    if (sfz_1_2==yy){
    
    
                        suyi_4 = zhongnan[yy]
                        document.write("您的籍贯为:",suyi_4)
                    }
                }
                var xinan={
    
    50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏"}
                for (var uu=50;uu<=54;uu++){
    
    
                    if (sfz_1_2==uu){
    
    
                        suyi_5 = xinan[uu]
                        document.write("您的籍贯为:",suyi_5)
                    }
                }
                var xibei={
    
    61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆"}
                for (var zz=61;zz<=65;zz++){
    
    
                    if (sfz_1_2==zz){
    
    
                        suyi_6 = xibei[zz]
                        document.write("您的籍贯为:",suyi_6)
                    }
                }
                break;//输入正确,则退出循环
            }
        }
    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/RoddyLD/article/details/114801888