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

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

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

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

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

    于是决定自己弄一个。

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

    现在分享给大家。

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

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

    大家来这里下载吧。https://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:"新乐市"
    }
    }


    }
  • 相关阅读:
    正则表达式
    网络编程
    多线程
    IO—Data
    IO-对象流
    IO-转换流
    异常
    常用类——File——Random——Math——枚举
    每月博客-20180310
    每月博客-20180204
  • 原文地址:https://www.cnblogs.com/baibaluo/p/2071255.html
Copyright © 2011-2022 走看看