|
比如:身份,生日,性別等。
現(xiàn)在,可以取城市和地區(qū)了。
復(fù)制代碼 代碼如下:
<script language="Javascript">
// 地區(qū)代碼實在太大了,我這里只貼出 北京,上海,廣州的代碼,完整國內(nèi)地區(qū)編碼請下載附件
// Go_Rush(阿舜) from http://ashun.cnblogs.com/
var areaCode={
'11':'北京市','1101':'北京市市轄區(qū)','110101':'北京市東城區(qū)','110102':'北京市西城區(qū)'
,'110103':'北京市崇文區(qū)','110104':'北京市宣武區(qū)','110105':'北京市朝陽區(qū)','110106':'北京市豐臺區(qū)'
,'110107':'北京市石景山區(qū)','110108':'北京市海淀區(qū)','110109':'北京市門頭溝區(qū)','110111':'北京市房山區(qū)'
,'1102':'北京市市轄縣','110221':'北京市昌平縣','110222':'北京市順義縣','110223':'北京市通縣'
,'110224':'北京市大興縣','110226':'北京市平谷縣','110227':'北京市懷柔縣','110228':'北京市密云縣'
,'110229':'北京市延慶縣'
,'12':'天津市','1201':'天津市市轄區(qū)','120101':'天津市和平區(qū)'
,'120102':'天津市河?xùn)|區(qū)','120103':'天津市河西區(qū)','120104':'天津市南開區(qū)','120105':'天津市河北區(qū)'
,'120106':'天津市紅橋區(qū)','120107':'天津市塘沽區(qū)','120108':'天津市漢沽區(qū)','120109':'天津市大港區(qū)'
,'120110':'天津市東麗區(qū)','120111':'天津市西青區(qū)','120112':'天津市津南區(qū)','120113':'天津市北辰區(qū)'
,'1202':'天津市市轄縣','120221':'天津市寧河縣','120222':'天津市武清縣','120223':'天津市靜海縣'
,'120224':'天津市寶坻縣','120225':'天津市薊縣'
,'31':'上海市'
,'3101':'上海市市轄區(qū)','310101':'上海市黃浦區(qū)','310102':'上海市南市區(qū)','310103':'上海市盧灣區(qū)'
,'310104':'上海市徐匯區(qū)','310105':'上海市長寧區(qū)','310106':'上海市靜安區(qū)','310107':'上海市普陀區(qū)'
,'310108':'上海市閘北區(qū)','310109':'上海市虹口區(qū)','310110':'上海市揚浦區(qū)','310112':'上海市閔行區(qū)'
,'310113':'上海市寶山區(qū)','310114':'上海市嘉定區(qū)','310115':'上海市浦東新區(qū)','3102':'上海市市轄縣'
,'310225':'上海市南匯縣','310226':'上海市奉賢縣','310227':'上海市松江縣','310228':'上海市金山縣'
,'310229':'上海市青浦縣','310230':'上海市崇明縣'
,'44':'廣東省','4401':'廣東省廣州市','440101':'廣東省廣州市市轄區(qū)'
,'440102':'廣東省廣州市東山區(qū)','440103':'廣東省廣州市荔灣區(qū)'
,'440104':'廣東省廣州市越秀區(qū)','440105':'廣東省廣州市海珠區(qū)'
,'440106':'廣東省廣州市天河區(qū)','440107':'廣東省廣州市芳村區(qū)'
,'440111':'廣東省廣州市白云區(qū)','440112':'廣東省廣州市黃埔區(qū)'
,'440122':'廣東省從花縣','440181':'廣東省番禺市','440182':'廣東省花都市','440183':'廣東省增城市'
,'71':'臺灣省','7100':'臺灣','710000':'臺灣省'
,'72':'香港','7200':'香港特別行政區(qū)','720000':'香港特別行政區(qū)'
,'73':'澳門','7300':'澳門特別行政區(qū)'
,'91':'國外'
}
function checkId(pId){
var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];
var Wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
var Checker = [1,9,8,7,6,5,4,3,2,1,1];
if(pId.length != 15 && pId.length != 18) return "身份證號共有 15 碼或18位";
var Ai=pId.length==18?pId.substring(0,17):pId.slice(0,6)+"19"+pId.slice(6,16);
if (!/^/d+$/.test(Ai)) return "身份證除最后一位外,必須為數(shù)字!";
var yyyy=Ai.slice(6,10),mm=Ai.slice(10,12)-1,dd=Ai.slice(12,14);
var d=new Date(yyyy,mm,dd),year=d.getFullYear(),mon=d.getMonth(),day=d.getDate(),now=new Date();
if (year!=yyyy || mon!=mm || day!=dd || d>now || now.getFullYear()-year>140) return "身份證輸入錯誤!";
for(var i=0,ret=0;i<17;i++) ret+=Ai.charAt(i)*Wi[i];
Ai+=arrVerifyCode[ret %=11];
return pId.length ==18 && pId.toLowerCase() != Ai?"身份證輸入錯誤!":Ai;
};
function getInfo(id){
//根據(jù)身份證取 省份,生日,性別 Go_Rush(阿舜) from http://ashun.cnblogs.com/
id=checkId(id)
if (isNaN(id)) return "錯誤的身份證號碼"
var id=String(id),sex=id.slice(14,17)%2?"男":"女"
prov=areaCode[id.slice(0,6)] || areaCode[id.slice(0,4)] || areaCode[id.slice(0,2)] || "未知地區(qū)"
var birthday=(new Date(id.slice(6,10),id.slice(10,12)-1,id.slice(12,14))).toLocaleDateString()
return [prov,birthday,sex]
}
var id="110102198006262301"
alert(getInfo(id))
</script>
下載(64kb)
建議: 地區(qū)編碼很大,900多行,90Kb大小,建議把他們放在數(shù)據(jù)庫里面通過Ajax來取
JavaScript技術(shù):身份證號碼前六位所代表的省,市,區(qū), 以及地區(qū)編碼下載,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。