根据身份证号,取得行政区划的Javascript实现

项目里需要一个根据身份证号,取得发证地行政区划的的功能。

网上搜了一下,多数都是服务端的实现

这个功能说白了就是一个映射,实在不想放在服务端,想用js的dict实现。

网上有一个js的实现,但是映射好像不很全,有些地区映射不到。

于是决定自己弄一个。

身份证号到行政区划的映射是从ip138那个网站的js里整理出来的,测试了一下,没有发现映射不到地区的身份证号。

现在分享给大家。

下面贴出的代码,数据映射部分,只列出了少数的省市县

完整的js文件有190k,发博客居然不能带附件。。。鄙视下

大家来这里下载吧。http://files.cnblogs.com/baibaluo/id_card_area.js

 
  
/* *
* 根据身份证号,取得行政区划的js
*/

var id_card_area = {

// 根据身份证号取得发证地,身份证号前六位映射到地区的结果例如“110101--北京市东城区”“411202--河南省三门峡市湖滨区”
getAreaByIdCard : function (idCard) {
if ( ! idCard || idCard.length < 6 ) return '' ;
var provinceNo = idCard.substring( 0 , 2 ) + ' 0000 ' ;
var cityNo = idCard.substring( 0 , 4 ) + ' 00 ' ;
var countyNo = idCard.substring( 0 , 6 );

var provinceName = this .data.province[provinceNo];
var cityName = this .data.city[cityNo];
var countyName = this .data.county[countyNo];

var result;
result
= (provinceName ? provinceName : '' ) + '' + (cityName ? cityName : '' ) + '' + (countyName ? countyName : '' );

return result;
},

// 映射数据,2011年3月从ip138的身份证号前六位查询的js中整理出来
// 数据稍微有点大,这里只列出一部分省市县,完整数据的js请从附件下载
data:{
province:
{
110000 : " 北京市 " ,
120000 : " 天津市 " ,
130000 : " 河北省 " ,
410000 : " 河南省 "
},
city:{
130100 : " 石家庄市 " ,
130200 : " 唐山市 " ,
130300 : " 秦皇岛市 " ,
130400 : " 邯郸市 " ,
130500 : " 邢台市 " ,
130600 : " 保定市 " ,
130700 : " 张家口市 " ,
130800 : " 承德市 " ,
130900 : " 沧州市 " ,
131000 : " 廊坊市 " ,
131100 : " 衡水市 " ,
132100 : " 邯郸地区 " ,
132200 : " 邢台地区 " ,
132300 : " 石家庄市 " ,
132400 : " 保定地区 " ,
132500 : " 张家口地区 " ,
132600 : " 承德地区 " ,
132800 : " 廊坊地区 " ,
132900 : " 沧州地区 " ,
133000 : " 衡水地区 " ,
140100 : " 太原市 " ,
140200 : " 大同市 " ,
140300 : " 阳泉市 " ,
140400 : " 长治市 " ,
140500 : " 晋城市 " ,
140600 : " 朔州市 " ,
140700 : " 晋中市 " ,
140800 : " 运城市 " ,
140900 : " 忻州市 " ,
141000 : " 临汾市 " ,
141100 : " 吕梁市 "
}
county:{
110101 : " 东城区 " ,
110102 : " 西城区 " ,
110103 : " 崇文区 " ,
110104 : " 宣武区 " ,
110105 : " 朝阳区 " ,
110106 : " 丰台区 " ,
110107 : " 石景山区 " ,
110108 : " 海淀区 " ,
110109 : " 门头沟区 " ,
110110 : " 燕山区 " ,
110111 : " 房山区 " ,
110112 : " 通州区 " ,
110113 : " 顺义区 " ,
110114 : " 昌平区 " ,
110115 : " 大兴区 " ,
110116 : " 怀柔区 " ,
110117 : " 平谷区 " ,
110221 : " 昌平县 " ,
110222 : " 顺义县 " ,
110223 : " 通县 " ,
110224 : " 大兴县 " ,
110225 : " 房山县 " ,
110226 : " 平谷县 " ,
110227 : " 怀柔县 " ,
110228 : " 密云县 " ,
110229 : " 延庆县 " ,
120101 : " 和平区 " ,
120102 : " 河东区 " ,
120103 : " 河西区 " ,
120104 : " 南开区 " ,
120105 : " 河北区 " ,
120106 : " 红桥区 " ,
120107 : " 塘沽区 " ,
120108 : " 汉沽区 " ,
120109 : " 大港区 " ,
120110 : " 东丽区 " ,
120111 : " 西青区 " ,
120112 : " 津南区 " ,
120113 : " 北辰区 " ,
120114 : " 武清区 " ,
120115 : " 宝坻区 " ,
120221 : " 宁河县 " ,
120222 : " 武清县 " ,
120223 : " 静海县 " ,
120224 : " 宝坻县 " ,
120225 : " 蓟县 " ,
130101 : " 市辖区 " ,
130102 : " 长安区 " ,
130103 : " 桥东区 " ,
130104 : " 桥西区 " ,
130105 : " 新华区 " ,
130106 : " 郊区 " ,
130107 : " 井陉矿区 " ,
130108 : " 裕华区 " ,
130121 : " 井陉县 " ,
130122 : " 获鹿县 " ,
130123 : " 正定县 " ,
130124 : " 栾城县 " ,
130125 : " 行唐县 " ,
130126 : " 灵寿县 " ,
130127 : " 高邑县 " ,
130128 : " 深泽县 " ,
130129 : " 赞皇县 " ,
130130 : " 无极县 " ,
130131 : " 平山县 " ,
130132 : " 元氏县 " ,
130133 : " 赵县 " ,
130181 : " 辛集市 " ,
130182 : " 藁城市 " ,
130183 : " 晋州市 " ,
130184 : " 新乐市 "
}
}


}

转载于:https://www.cnblogs.com/baibaluo/archive/2011/06/03/2071255.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值