根据身份证号,取得行政区划的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:"新乐市"
}
} }
根据身份证号,取得行政区划的Javascript实现的更多相关文章
- 身份证号校验原理及JavaScript实现
在网站中,总有各种各样的表单,用户使用表单来向服务器发送数据,进行交互. 然而,代代相传的经验是,永远不要信任用户的输入,一定要对数据进行验证.如果使用不经验证的表单,轻则会有大量无效提交 ...
- JavaScript验证身份证号
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncodin ...
- javascript实现验证身份证号的有效性并提示
javascript实现验证身份证号的有效性并提示 function nunber(allowancePersonValue){ if(allowancePersonValue=="身份证号 ...
- JavaScript 正则表单验证(用户名、密码、确认密码、手机号、座机号、身份证号)
1.关于JavaScript表单验证,如果使用双向绑定的前端js框架,会更容易的多.但是博主还是建议大家不要脱离源生js本身.因为源生js才是王道. 注意: a.代码中的错误提示可能会没有,在代码中找 ...
- JavaScript 通过身份证号获取出生日期、年龄、性别 、籍贯
JavaScript 通过身份证号获取出生日期.年龄.性别 .籍贯(很全) 效果图: 示例代码: //由于没有写外部JS,所以代码比较长!!! <!DOCTYPE html PUBLIC &qu ...
- JavaScript正则验证数字、英文、电话号、身份证号、邮箱地址、链接地址等
验证是否为数字:/^[0-9]*$/验证是否为汉字:/^[\u4e00-\u9fa5],{0,}$/验证x-y位的数字:/^\d{x,y}$/验证由26个英文字母组成的字符串:/^[A-Za-z]+$ ...
- javascript根据身份证号判断精确周岁年龄
前言: 根据身份证号判断精确周岁年龄,可以精确到天,即周岁以生日当天为准,生日当天周岁+1,少一天则不加. 实现方法: <!DOCTYPE html> <html> <h ...
- Javascript 身份证号获得出生日期、获得性别、检查身份证号码
//---------------------------------------------------------- // 功能:根据身份证号获得出生日期 // 参数:身份证号 psidno // ...
- [javaScript]身份证号信息解析
之前一直在思考是不是该把工作中一些问题写出来(可能是简单的问题),现在的想法是应该写出来这些简单的问题.虽然工作中可能并没有很多特别难的问题让你去解决,因为公司的招人就是根据你的能力来匹配的嘛. 简单 ...
随机推荐
- PostgreSQL执行机制的初步学习
作为开源数据库的新手,近日有兴对比了Pg和MySQL的查询计划. 通过Pg源码目录下的src\backend\executor\README文件,加上一些简单调试,就能对Pg的执行机制产生一个初步印象 ...
- vuex使用之state访问状态对象
引入vuex1.利用npm包管理工具,进行安装 vuex.在控制命令行中输入下边的命令就可以了. npm install vuex --save 需要注意的是这里一定要加上 –save,因为你这个包我 ...
- zabbix基础安装
环境依赖:LNMP或者LAMP 简介参考:http://blog.51cto.com/zhang789/1868880 一.准备 我安装的环境及其版本如下: 系统版本 CentOS Linux rel ...
- 谈谈JVM垃圾回收机制及垃圾回收算法
一.垃圾回收机制的意义 Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理.由于有个垃圾回收机制 ...
- Java IO(四--字符流基本使用
在上一节,介绍了字节流的基本使用,本节介绍一下字符流的使用 Reader: public abstract class Reader implements Readable, Closeable { ...
- 双引号" "和单引号' '区别
双引号是字符串,单引号是字符 “\n”与'\n': 相同点: 都能起到换行作用 不同点: "\n" <=> {'\n', '\0'} '\n' <=> ...
- caffe数据读取
caffe的数据读取分为lmdb和 待清理,包括fast 这个一系列是怎么转换成lmdb数据的
- zabbix4.2学习笔记--安装percona插件监控MySQL
percona-monitoring-plugins是percona专门为MySQL监控的工具,支持Nagios,cacti,zabibx,本文主要介绍percona-monitoring-plugi ...
- Myeclipse中dubug调试出现参数显示的框
1.步骤: window>show view>variables 结果:
- 利用filter过滤去重
var r, ary = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry']; r ...