根据身份证号,取得行政区划的Javascript实现
阅读原文时间:2021年04月20日阅读:4

原文:http://www.cnblogs.com/baibaluo/archive/2011/06/03/2071255.html#2585076

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

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

这个功能说白了就是一个映射,实在不想放在服务端,想用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:"新乐市"  
        }  
    }  

}

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章