原文: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:"新乐市"
}
} }

根据身份证号,取得行政区划的Javascript实现的更多相关文章

  1. 身份证号校验原理及JavaScript实现

          在网站中,总有各种各样的表单,用户使用表单来向服务器发送数据,进行交互. 然而,代代相传的经验是,永远不要信任用户的输入,一定要对数据进行验证.如果使用不经验证的表单,轻则会有大量无效提交 ...

  2. JavaScript验证身份证号

    <%@ page language="java" contentType="text/html; charset=GB18030" pageEncodin ...

  3. javascript实现验证身份证号的有效性并提示

    javascript实现验证身份证号的有效性并提示 function nunber(allowancePersonValue){ if(allowancePersonValue=="身份证号 ...

  4. JavaScript 正则表单验证(用户名、密码、确认密码、手机号、座机号、身份证号)

    1.关于JavaScript表单验证,如果使用双向绑定的前端js框架,会更容易的多.但是博主还是建议大家不要脱离源生js本身.因为源生js才是王道. 注意: a.代码中的错误提示可能会没有,在代码中找 ...

  5. JavaScript 通过身份证号获取出生日期、年龄、性别 、籍贯

    JavaScript 通过身份证号获取出生日期.年龄.性别 .籍贯(很全) 效果图: 示例代码: //由于没有写外部JS,所以代码比较长!!! <!DOCTYPE html PUBLIC &qu ...

  6. JavaScript正则验证数字、英文、电话号、身份证号、邮箱地址、链接地址等

    验证是否为数字:/^[0-9]*$/验证是否为汉字:/^[\u4e00-\u9fa5],{0,}$/验证x-y位的数字:/^\d{x,y}$/验证由26个英文字母组成的字符串:/^[A-Za-z]+$ ...

  7. javascript根据身份证号判断精确周岁年龄

    前言: 根据身份证号判断精确周岁年龄,可以精确到天,即周岁以生日当天为准,生日当天周岁+1,少一天则不加. 实现方法: <!DOCTYPE html> <html> <h ...

  8. Javascript 身份证号获得出生日期、获得性别、检查身份证号码

    //---------------------------------------------------------- // 功能:根据身份证号获得出生日期 // 参数:身份证号 psidno // ...

  9. [javaScript]身份证号信息解析

    之前一直在思考是不是该把工作中一些问题写出来(可能是简单的问题),现在的想法是应该写出来这些简单的问题.虽然工作中可能并没有很多特别难的问题让你去解决,因为公司的招人就是根据你的能力来匹配的嘛. 简单 ...

随机推荐

  1. mysql中判断条件

    if / case when 判断 SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "m ...

  2. <在此处打开命令窗口>替换为PowerShell打开模式

    Windows7中Shift+右键"在此处打开命令窗口"默认是采用cmd的方式打开. 把cmd替换为PowerShell的方式打开. 1. Ctrl + R 输入regedit进入 ...

  3. 虚拟机centOs Linux与Windows之间的文件传输

    一.配置环境 虚拟机Linux:Fedora 9 文件传输工具:SSHSecureShellClient-3.2.9 二.实现步骤 1. 在Windows中安装文件传输工具SSHSecureShell ...

  4. CentOS 6.4 linux下编译安装 LNMP环境

    1.nginx编译安装 2.PHP编译安装 3.mysql编译安装 4.NGINX配置模板 5.CentOS 6.4 php-fpm 添加service 添加平滑启动/重启

  5. day25-1 网络架构与互联网组成

    目录 网络架构 单机架构 CS架构 数据放在服务端和客户端的利与弊 BS架构 互联网和互联网的组成 互联网的硬件组成 互联网的软件组成 网络架构 单机架构 应用领域: 单机游戏 CS架构 基于网络,应 ...

  6. maven release插件将一版本发布到仓库中时Return code is: 401, ReasonPhrase:Unauthorized

    需要在maven的setting.xml中配置servers.server节点,其值为nexus的对应的repository的id以及用户名及密码 <servers> <server ...

  7. ansible相关说明

    2.ansible相关说明 2.1.ansible相关命令 ansible:定义并运行简单任务,主要执行ad-hoc命令 ansible-config:查看.编辑.管理ansible配置 ansibl ...

  8. What is state and props

    State, in React component, is internal dataset which affects the rendering of the component. To some ...

  9. HTML5 history API与ajax分页实例页面

    <ul id="choMenu" class="rel cho_menu"> <li><a href="ajax.php ...

  10. 原生j获取元素的几种方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...