<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Energy of Love  
    日歷
    <2011年8月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910
    統(tǒng)計
    • 隨筆 - 70
    • 文章 - 0
    • 評論 - 80
    • 引用 - 0

    導航

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     

    idCard.js部分*******************************************************


    //****************************************************************************

    // 構造函數(shù),變量為15位或者18位的身份證號碼
    function clsIDCard(CardNo) {
      this.Valid=false;
      this.ID15='';
      this.ID18='';
      this.Local='';
      if(CardNo!=null)this.SetCardNo(CardNo);
    }

    // 設置身份證號碼,15位或者18位
    clsIDCard.prototype.SetCardNo = function(CardNo) {
      this.ID15='';
      this.ID18='';
      this.Local='';
      CardNo=CardNo.replace(" ","");
      var strCardNo;
      if(CardNo.length==18) {
        pattern= /^\d{17}(\d|x|X)$/;
        if (pattern.exec(CardNo)==null)return;
        strCardNo=CardNo.toUpperCase();
      } else {
        pattern= /^\d{15}$/;
        if (pattern.exec(CardNo)==null)return;
        strCardNo=CardNo.substr(0,6)+'19'+CardNo.substr(6,9)
        strCardNo+=this.GetVCode(strCardNo);
      }
      this.Valid=this.CheckValid(strCardNo);
    }

    // 校驗身份證有效性
    clsIDCard.prototype.IsValid = function() {
      return this.Valid;
    }

    // 返回生日字符串,格式如下,1981-10-10
    clsIDCard.prototype.GetBirthDate = function() {
      var BirthDate='';
      if(this.Valid)BirthDate=this.GetBirthYear()+'-'+this.GetBirthMonth()+'-'+this.GetBirthDay();
      return BirthDate;
    }

    // 返回生日中的年,格式如下,1981
    clsIDCard.prototype.GetBirthYear = function() {
      var BirthYear='';
      if(this.Valid)BirthYear=this.ID18.substr(6,4);
      return BirthYear;
    }

    // 返回生日中的月,格式如下,10
    clsIDCard.prototype.GetBirthMonth = function() {
      var BirthMonth='';
      if(this.Valid)BirthMonth=this.ID18.substr(10,2);
      if(BirthMonth.charAt(0)=='0')BirthMonth=BirthMonth.charAt(1);
      return BirthMonth;
    }

    // 返回生日中的日,格式如下,10
    clsIDCard.prototype.GetBirthDay = function() {
      var BirthDay='';
      if(this.Valid)BirthDay=this.ID18.substr(12,2);
      return BirthDay;
    }

    // 返回性別,1:男,0:女
    clsIDCard.prototype.GetSex = function() {
      var Sex='';
      if(this.Valid)Sex=this.ID18.charAt(16)%2;
      return Sex;
    }

    // 返回15位身份證號碼
    clsIDCard.prototype.Get15 = function() {
      var ID15='';
      if(this.Valid)ID15=this.ID15;
      return ID15;
    }

    // 返回18位身份證號碼
    clsIDCard.prototype.Get18 = function() {
      var ID18='';
      if(this.Valid)ID18=this.ID18;
      return ID18;
    }

    // 返回所在省,例如:上海市、浙江省
    clsIDCard.prototype.GetLocal = function() {
      var Local='';
      if(this.Valid)Local=this.Local;
      return Local;
    }

    clsIDCard.prototype.GetVCode = function(CardNo17) {
      var Wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
      var Ai = new Array('1','0','X','9','8','7','6','5','4','3','2');
      var cardNoSum = 0;
      for (var i=0; i<CardNo17.length; i++)cardNoSum+=CardNo17.charAt(i)*Wi[i];
      var seq = cardNoSum%11;
      return Ai[seq];
    }

    clsIDCard.prototype.CheckValid = function(CardNo18) {
      if(this.GetVCode(CardNo18.substr(0,17))!=CardNo18.charAt(17))return false;
      if(!this.IsDate(CardNo18.substr(6,8)))return false;
      var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",21:"遼寧",22:"吉林",23:"黑龍江 ",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北 ",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏 ",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外"};
      if(aCity[parseInt(CardNo18.substr(0,2))]==null)return false;
      this.ID18=CardNo18;
      this.ID15=CardNo18.substr(0,6)+CardNo18.substr(8,9);
      this.Local=aCity[parseInt(CardNo18.substr(0,2))];
      return true;
    }

    clsIDCard.prototype.IsDate = function(strDate) {
      var r = strDate.match(/^(\d{1,4})(\d{1,2})(\d{1,2})$/);
      if(r==null)return false;
      var d= new Date(r[1], r[2]-1, r[3]);
      return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[2]&&d.getDate()==r[3]);
    }

     

    頁面部分**************************************************************

    <!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-Type" content="text/html; charset=gb2312" />
    <title>身份證驗證</title>
    <script src="idCard.js"></script>
    </head>
    <body>
    <script>
     function valiIdCard(idCard){
      var checkFlag = new clsIDCard(idCard);
      if (!checkFlag.IsValid()) {
       alert("輸入的身份證號無效,請輸入真實的身份證號!");
       document.getElementByIdx("idCard").focus();
       return false;
      }else{
        alert("正確!");
      }
     }

    </script>
    <input id="idCard" type="text" onblur="valiIdCard(this.value)"/>
    </body>

    posted on 2011-08-25 14:56 不高興 閱讀(10260) 評論(6)  編輯  收藏 所屬分類: HTML/JS/CSS
    評論:
    • # 340503198808136690[未登錄]  丁偉 Posted @ 2012-10-24 23:15
      風格  回復  更多評論   

    • # re: js 驗證身份證號碼  與政治相關的內(nèi)容) Posted @ 2012-10-30 09:34


      # 340503198808136690[未登錄] 丁偉 Posted @ 2012-10-24 23:15
      風格 回復 更多評論

      新用戶注冊 刷新評論列表

      面向開發(fā)者的云計算盛會:VMware vForum 2012(免費)

      博客園 博問 IT新聞 Java程序員招聘
      標題
      姓名
      主頁
      驗證碼 *
      內(nèi)容(請不要發(fā)表任何與政治相關的內(nèi)容)   回復  更多評論   

    • # re: js 驗證身份證號碼[未登錄]  sa Posted @ 2013-06-09 13:40
      dd  回復  更多評論   

    • # re: js 驗證身份證號碼[未登錄]  liu Posted @ 2013-06-26 15:43
      樓主寫的很詳細,備注的也很好。值得借鑒!  回復  更多評論   

    • # re: js 驗證身份證號碼  xiaoqian Posted @ 2013-10-31 17:39
      樓主寫的很好,看到代碼很學習,有面向對象的感覺  回復  更多評論   

    • # re: js 驗證身份證號碼  孫國建 Posted @ 2013-12-24 09:17
      這個怎么能夠校驗臺灣人的身份證號呢?  回復  更多評論   

     
    Copyright © 不高興 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 亚洲热妇无码AV在线播放| 亚洲国产精品激情在线观看| 亚洲精品国产成人99久久| 久久久久久国产精品免费免费男同| 亚洲人成图片小说网站| 99在线热播精品免费99热| 亚洲人成人无码网www电影首页| 久久不见久久见免费影院www日本| 中文字幕精品亚洲无线码一区应用| 国产成人无码精品久久久久免费| 亚洲午夜久久久影院伊人| 精品国产免费一区二区三区香蕉| 亚洲国产一区国产亚洲| 免费看h片的网站| 亚洲色偷偷综合亚洲av78| 免费一级毛片在线播放不收费| 一边摸一边桶一边脱免费视频| 久久久久亚洲AV综合波多野结衣| 最近2019中文免费字幕在线观看| 久久精品国产亚洲av麻豆小说| 免费人成在线观看69式小视频| 亚洲乱色伦图片区小说| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲国产精品狼友中文久久久| 国产在线国偷精品免费看| 亚洲AV永久无码精品成人| 1000部拍拍拍18勿入免费视频软件| 亚洲AV无码无限在线观看不卡 | 在线免费观看h片| 亚洲人成激情在线播放| 午夜一级免费视频| 人人爽人人爽人人片av免费| 亚洲av网址在线观看| 毛片基地免费观看| 成年免费a级毛片免费看无码| 亚洲乱码中文字幕小综合| 亚洲成A人片在线观看无码3D| 国产一区二区免费| 亚洲第一街区偷拍街拍| 亚洲av无码精品网站| 日韩高清在线高清免费|