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

2018-09-22 01:05

阅读:747

  在我上一篇文章里面,讨论了如何验证15,18位身份证号码的合法性,并能取得一些简单的信息,
比如:身份,生日,性别等。

现在,可以取城市和地区了。
复制代码 代码如下:
<scriptlanguage=javascript>
//地区代码实在太大了,我这里只贴出北京,上海,广州的代码,完整国内地区编码请下载附件

//Go_Rush(阿舜)from
varareaCode={
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:国外
}


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

functiongetInfo(id){
//根据身份证取省份,生日,性别Go_Rush(阿舜)from
id=checkId(id)
if(isNaN(id))return错误的身份证号码
varid=String(id),sex=id.slice(14,17)%2?男:女
prov=areaCode[id.slice(0,6)]areaCode[id.slice(0,4)]areaCode[id.slice(0,2)]未知地区
varbirthday=(newDate(id.slice(6,10),id.slice(10,12)-1,id.slice(12,14))).toLocaleDateString()
return[prov,birthday,sex]
}

varid=110102198006262301
alert(getInfo(id))
</script>

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


评论


亲,登录后才可以留言!