zoukankan      html  css  js  c++  java
  • 根据身份证号,取得行政区划的Javascript实现

    原文: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:"新乐市"  
                }  
            }  
          
          
        }
  • 相关阅读:
    多态实现--虚函数与纯虚函数
    CentOS6编译安装gcc高版本
    Linux多进程CS服务器简单测试
    Linux单用户CS模型TCP通讯完全注释手册
    进程线程及其状态
    Java学习-字符串、字符、ASCII、数字的互相转换
    Java学习-素数
    Java学习-日期
    Java学习-多态
    Java学习-练习
  • 原文地址:https://www.cnblogs.com/shihaiming/p/6898482.html
Copyright © 2011-2022 走看看