根据身份证号,取得行政区划的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:"新乐市"
            }
        }  

    }
时间: 2024-10-21 11:43:46

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

JavaScript 身份证号有效验证详解及实例代码

JavaScript 身份证号有效验证详解及实例代码 这篇文章主要介绍了JavaScript 身份证号有效验证详解及实例代码的相关资料,需要的朋友可以参考下 JavaScript验证身份证号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 <%@ page language="jav

JavaScript验证身份证号

<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

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

1.关于JavaScript表单验证,如果使用双向绑定的前端js框架,会更容易的多.但是博主还是建议大家不要脱离源生js本身.因为源生js才是王道. 注意: a.代码中的错误提示可能会没有,在代码中找到 "错误.jpg"  图片,自己制作一个 b.验证的判断已经完成,只需要根据自己的验证规则进行表单验证,更换自己的正则表达式. c.博主将错误提示图片插入本文档中.需要更名为  "错误.jpg",放到与html根目录下方可使用.      (错误提示图片) <!

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

function nunber(allowancePersonValue){ if(allowancePersonValue=="身份证号"){ $("#span_username").show(); $("#span_username").html("身份证号不能为空"); return false; } //校验长度,类型 else if(isCardNo(allowancePersonValue) === false)

锋利的js之验证身份证号

我们在做互联网网站时,注册个人资料时,经常要用到身份证号,我们需要对身份证进验证,不然别人随便输个号码就通过,让你感觉这个网站做得很shit. 身份证号是有规则的. 结构和形式 1.号码的结构  公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.  2.地址码  表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行.  3.出生日期码  表示编码对象出生的年.月

通过java来批量生成身份证号

通过java来批量生成身份证号,方便来测试程序. package com.diyvc.controller.user; import java.util.Calendar; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class IdCardGenerator { public static final Map<Stri

中文姓名,身份证号,车牌号(正则判断)

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta name="format-detection" content=&q

js实现完美身份证号有效性验证

最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验证规则太过简单,只是简单的验证了身份证长度,现在业务需要加强下身份证验证规则,网上找到了不少资料,不过都不合偶的心意,无奈只好直接写一个,代码还是用自己的舒服哈 已实现功能:支持15位和18位身份证号,支持地址编码.出生日期.校验位验证 代码如下: /*根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字

jquery validation验证身份证号、护照、电话号码、email

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-