Energy of Love  
          日歷
          <2013年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456
          統(tǒng)計(jì)
          • 隨筆 - 70
          • 文章 - 0
          • 評(píng)論 - 80
          • 引用 - 0

          導(dǎo)航

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

           

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


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

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

          // 設(shè)置身份證號(hào)碼,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);
          }

          // 校驗(yàn)身份證有效性
          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位身份證號(hào)碼
          clsIDCard.prototype.Get15 = function() {
            var ID15='';
            if(this.Valid)ID15=this.ID15;
            return ID15;
          }

          // 返回18位身份證號(hào)碼
          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:"臺(tái)灣",81:"香港",82:"澳門",91:"國(guó)外"};
            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]);
          }

           

          頁(yè)面部分**************************************************************

          <!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>身份證驗(yàn)證</title>
          <script src="idCard.js"></script>
          </head>
          <body>
          <script>
           function valiIdCard(idCard){
            var checkFlag = new clsIDCard(idCard);
            if (!checkFlag.IsValid()) {
             alert("輸入的身份證號(hào)無(wú)效,請(qǐng)輸入真實(shí)的身份證號(hào)!");
             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 不高興 閱讀(10264) 評(píng)論(6)  編輯  收藏 所屬分類: HTML/JS/CSS
          評(píng)論:
          • # 340503198808136690[未登錄]  丁偉 Posted @ 2012-10-24 23:15
            風(fēng)格  回復(fù)  更多評(píng)論   

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


            # 340503198808136690[未登錄] 丁偉 Posted @ 2012-10-24 23:15
            風(fēng)格 回復(fù) 更多評(píng)論

            新用戶注冊(cè) 刷新評(píng)論列表

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

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

          • # re: js 驗(yàn)證身份證號(hào)碼[未登錄]  sa Posted @ 2013-06-09 13:40
            dd  回復(fù)  更多評(píng)論   

          • # re: js 驗(yàn)證身份證號(hào)碼[未登錄]  liu Posted @ 2013-06-26 15:43
            樓主寫的很詳細(xì),備注的也很好。值得借鑒!  回復(fù)  更多評(píng)論   

          • # re: js 驗(yàn)證身份證號(hào)碼  xiaoqian Posted @ 2013-10-31 17:39
            樓主寫的很好,看到代碼很學(xué)習(xí),有面向?qū)ο蟮母杏X  回復(fù)  更多評(píng)論   

          • # re: js 驗(yàn)證身份證號(hào)碼  孫國(guó)建 Posted @ 2013-12-24 09:17
            這個(gè)怎么能夠校驗(yàn)臺(tái)灣人的身份證號(hào)呢?  回復(fù)  更多評(píng)論   

           
          Copyright © 不高興 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 弥勒县| 黄龙县| 包头市| 双城市| 九台市| 稷山县| 辽阳市| 永昌县| 贵港市| 竹北市| 郑州市| 屏东县| 霞浦县| 工布江达县| 三门县| 鞍山市| 资中县| 津南区| 东光县| 洛宁县| 大姚县| 靖边县| 上思县| 田东县| 姚安县| 依兰县| 聂荣县| 文山县| 全椒县| 宁化县| 宁国市| 新乐市| 贵港市| 兴海县| 宜城市| 灵丘县| 东阳市| 安岳县| 哈尔滨市| 米脂县| 红桥区|