주민등록번호 앞의 6위가 대표하는 성, 시, 구, 그리고 지역 코드 다운로드

4383 단어
지난 글에서 15, 18개의 신분증 번호의 합법성을 어떻게 검증하고 간단한 정보를 얻을 수 있는지 토론했습니다.
신분, 생일, 성별 등.
이제 도시와 지역을 찾을 수 있습니다.
 
  
  <br>//  ,   , , ,   <br> <br>// Go_Rush( )  from http://ashun.cnblogs.com/  <br>var areaCode={  <br>    '11':' ','1101':' ','110101':' ','110102':' '  <br>    ,'110103':' ','110104':' ','110105':' ','110106':' '  <br>    ,'110107':' ','110108':' ','110109':' ','110111':' '  <br>    ,'1102':' ','110221':' ','110222':' ','110223':' '  <br>    ,'110224':' ','110226':' ','110227':' ','110228':' '  <br>    ,'110229':' '  <br> <br>    ,'12':' ','1201':' ','120101':' '  <br>    ,'120102':' ','120103':' ','120104':' ','120105':' '  <br>    ,'120106':' ','120107':' ','120108':' ','120109':' '  <br>    ,'120110':' ','120111':' ','120112':' ','120113':' '  <br>    ,'1202':' ','120221':' ','120222':' ','120223':' '  <br>    ,'120224':' ','120225':' '  <br> <br>    ,'31':' '  <br>    ,'3101':' ','310101':' ','310102':' ','310103':' '  <br>    ,'310104':' ','310105':' ','310106':' ','310107':' '  <br>    ,'310108':' ','310109':' ','310110':' ','310112':' '  <br>    ,'310113':' ','310114':' ','310115':' ','3102':' '  <br>    ,'310225':' ','310226':' ','310227':' ','310228':' '  <br>    ,'310229':' ','310230':' '          <br> <br>    ,'44':' ','4401':' ','440101':' '  <br>    ,'440102':' ','440103':' '  <br>    ,'440104':' ','440105':' '  <br>    ,'440106':' ','440107':' '  <br>    ,'440111':' ','440112':' '  <br>    ,'440122':' ','440181':' ','440182':' ','440183':' '  <br> <br>    ,'71':' ','7100':' ','710000':' '      <br>    ,'72':' ','7200':' ','720000':' '  <br>    ,'73':' ','7300':' '  <br>    ,'91':' '  <br>}  <br> <br> <br>function checkId(pId){  <br>    var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];  <br>    var Wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];  <br>    var Checker = [1,9,8,7,6,5,4,3,2,1,1];  <br>    if(pId.length != 15 && pId.length != 18)    return "  15  18 ";  <br>    var Ai=pId.length==18?pId.substring(0,17):pId.slice(0,6)+"19"+pId.slice(6,16);  <br>    if (!/^\d+$/.test(Ai)) return " , !";  <br>    var yyyy=Ai.slice(6,10),mm=Ai.slice(10,12)-1,dd=Ai.slice(12,14);  <br>    var d=new Date(yyyy,mm,dd),year=d.getFullYear(),mon=d.getMonth(),day=d.getDate(),now=new Date();  <br>    if (year!=yyyy || mon!=mm || day!=dd || d>now || now.getFullYear()-year>140) return " !";  <br>    for(var i=0,ret=0;i<17;i++)  ret+=Ai.charAt(i)*Wi[i];      <br>    Ai+=arrVerifyCode[ret %=11];       <br>    return pId.length ==18 && pId.toLowerCase() != Ai?" !":Ai;  <br>};  <br> <br>function getInfo(id){               <br>    //   , ,   Go_Rush( ) from http://ashun.cnblogs.com/  <br>    id=checkId(id)  <br>    if (isNaN(id)) return " "      <br>    var id=String(id),sex=id.slice(14,17)%2?" ":" "  <br>    prov=areaCode[id.slice(0,6)] || areaCode[id.slice(0,4)] || areaCode[id.slice(0,2)] || " "  <br>    var birthday=(new Date(id.slice(6,10),id.slice(10,12)-1,id.slice(12,14))).toLocaleDateString()   <br>    return [prov,birthday,sex]    <br>}  <br> <br>var id="110102198006262301"   <br>alert(getInfo(id))   <br>

다운로드(64kb)
권장 사항: 지역 코드가 매우 크고 900여 줄, 90Kb 크기입니다. 데이터베이스에 넣고 Ajax를 통해 찾으시기 바랍니다.

좋은 웹페이지 즐겨찾기