• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

身份证号码前六位所代表的省,市,区, 以及地区编码下载 - Go_Rush ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
在我上一个帖子 里面,讨论了如何验证15,18位身份证号码的合法性,并能取得一些简单的信息,
比如:身份,生日,性别等。

现在,可以取城市和地区了。

<script language="javascript">
// 地区代码实在太大了,我这里只贴出 北京,上海,广州的代码,完整国内地区编码请下载附件

// Go_Rush(阿舜)  from http://ashun.cnblogs.com/
var areaCode={
    \'
11\':\'北京市\',\'1101\':\'北京市市辖区\',\'110101\':\'北京市东城区\',\'110102\':\'北京市西城区\'
    ,\'
110103\':\'北京市崇文区\',\'110104\':\'北京市宣武区\',\'110105\':\'北京市朝阳区\',\'110106\':\'北京市丰台区\'
    ,\'
110107\':\'北京市石景山区\',\'110108\':\'北京市海淀区\',\'110109\':\'北京市门头沟区\',\'110111\':\'北京市房山区\'
    ,\'
1102\':\'北京市市辖县\',\'110221\':\'北京市昌平县\',\'110222\':\'北京市顺义县\',\'110223\':\'北京市通县\'
    ,\'
110224\':\'北京市大兴县\',\'110226\':\'北京市平谷县\',\'110227\':\'北京市怀柔县\',\'110228\':\'北京市密云县\'
    ,\'
110229\':\'北京市延庆县\'

    ,\'
12\':\'天津市\',\'1201\':\'天津市市辖区\',\'120101\':\'天津市和平区\'
    ,\'
120102\':\'天津市河东区\',\'120103\':\'天津市河西区\',\'120104\':\'天津市南开区\',\'120105\':\'天津市河北区\'
    ,\'
120106\':\'天津市红桥区\',\'120107\':\'天津市塘沽区\',\'120108\':\'天津市汉沽区\',\'120109\':\'天津市大港区\'
    ,\'
120110\':\'天津市东丽区\',\'120111\':\'天津市西青区\',\'120112\':\'天津市津南区\',\'120113\':\'天津市北辰区\'
    ,\'
1202\':\'天津市市辖县\',\'120221\':\'天津市宁河县\',\'120222\':\'天津市武清县\',\'120223\':\'天津市静海县\'
    ,\'
120224\':\'天津市宝坻县\',\'120225\':\'天津市蓟县\'
    
    ,\'
31\':\'上海市\'
    ,\'
3101\':\'上海市市辖区\',\'310101\':\'上海市黄浦区\',\'310102\':\'上海市南市区\',\'310103\':\'上海市卢湾区\'
    ,\'
310104\':\'上海市徐汇区\',\'310105\':\'上海市长宁区\',\'310106\':\'上海市静安区\',\'310107\':\'上海市普陀区\'
    ,\'
310108\':\'上海市闸北区\',\'310109\':\'上海市虹口区\',\'310110\':\'上海市扬浦区\',\'310112\':\'上海市闵行区\'
    ,\'
310113\':\'上海市宝山区\',\'310114\':\'上海市嘉定区\',\'310115\':\'上海市浦东新区\',\'3102\':\'上海市市辖县\'
    ,\'
310225\':\'上海市南汇县\',\'310226\':\'上海市奉贤县\',\'310227\':\'上海市松江县\',\'310228\':\'上海市金山县\'
    ,\'
310229\':\'上海市青浦县\',\'310230\':\'上海市崇明县\'        

    ,\'
44\':\'广东省\',\'4401\':\'广东省广州市\',\'440101\':\'广东省广州市市辖区\'
    ,\'
440102\':\'广东省广州市东山区\',\'440103\':\'广东省广州市荔湾区\'
    ,\'
440104\':\'广东省广州市越秀区\',\'440105\':\'广东省广州市海珠区\'
    ,\'
440106\':\'广东省广州市天河区\',\'440107\':\'广东省广州市芳村区\'
    ,\'
440111\':\'广东省广州市白云区\',\'440112\':\'广东省广州市黄埔区\'
    ,\'
440122\':\'广东省从花县\',\'440181\':\'广东省番禺市\',\'440182\':\'广东省花都市\',\'440183\':\'广东省增城市\'
    
    ,\'
71\':\' 台@@湾 省\',\'7100\':\' 台@@湾 \',\'710000\':\' 台@@湾 省\'    
    ,\'
72\':\'香港\',\'7200\':\'香港特别行政区\',\'720000\':\'香港特别行政区\'
    ,\'
73\':\'澳门\',\'7300\':\'澳门特别行政区\'
    ,\'
91\':\'国外\'
}



function checkId(pId){
    
var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];
    
var Wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
    
var Checker = [1,9,8,7,6,5,4,3,2,1,1];
    
if(pId.length != 15 && pId.length != 18)    return "身份证号共有 15 码或18位";
    
var Ai=pId.length==18?pId.substring(0,17):pId.slice(0,6)+"19"+pId.slice(6,16);
    
if (!/^\d+$/.test(Ai)) return "身份证除最后一位外,必须为数字!";
    
var yyyy=Ai.slice(6,10),mm=Ai.slice(10,12)-1,dd=Ai.slice(12,14);
    
var d=new Date(yyyy,mm,dd),year=d.getFullYear(),mon=d.getMonth(),day=d.getDate(),now=new Date();
    
if (year!=yyyy || mon!=mm || day!=dd || d>now || now.getFullYear()-year>140return "身份证输入错误!";
    
for(var i=0,ret=0;i<17;i++)  ret+=Ai.charAt(i)*Wi[i];    
    Ai
+=arrVerifyCode[ret %=11];     
    
return pId.length ==18 && pId.toLowerCase() != Ai?"身份证输入错误!":Ai;
}
;

function getInfo(id){             
    
//根据身份证取 省份,生日,性别  Go_Rush(阿舜) from http://ashun.cnblogs.com/
    id=checkId(id)
    
if (isNaN(id)) return "错误的身份证号码"    
    
var id=String(id),sex=id.slice(14,17)%2?"":""
    prov
=areaCode[id.slice(0,6)] || areaCode[id.slice(0,4)] || areaCode[id.slice(0,2)] || "未知地区"
    
var birthday=(new Date(id.slice(6,10),id.slice(10,12)-1,id.slice(12,14))).toLocaleDateString() 
    
return [prov,birthday,sex]  
}


var id="110102198006262301" 
alert(getInfo(id)) 
</script>



下载(64kb)  https://files.cnblogs.com/ashun/idcard.rar

建议: 地区编码很大,900多行,90Kb大小,建议把他们放在数据库里面通过Ajax来取

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go语言类型的本质发布时间:2022-07-10
下一篇:
算法:时间复杂度+二分查找法(Java/Go/Python)实现发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap