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

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

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

    J2EE社區(qū)

    茍有恒,何必三更起五更眠;
    最無益,只怕一日曝十日寒.
    posts - 241, comments - 318, trackbacks - 0, articles - 16

    身份證驗證

    Posted on 2010-08-30 17:07 xcp 閱讀(337) 評論(0)  編輯  收藏 所屬分類: Javascript

    一。常用的身份證驗證

    <script> 
        
    function isIdCardNo(num){
            num 
    = num.toUpperCase();  
            
    //身份證號碼為15位或者18位,15位時全為數(shù)字,18位前17位為數(shù)字,最后一位是校驗位,可能為數(shù)字或字符X。   
            if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))){ 
                 alert('輸入的身份證號長度不對,或者號碼不符合規(guī)定!\n15位號碼應全為數(shù)字,18位號碼末位可以為數(shù)字或X。'); 
                 
    return false
            } 
            
    //校驗位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認為是數(shù)字10。 
            //下面分別分析出生日期和校驗位 
            var len, re; 
            len 
    = num.length; 
            
    if (len == 15){
                re 
    = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/); 
                
    var arrSplit = num.match(re); 
                
    //檢查生日日期是否正確 
                var dtmBirth = new Date('19+ arrSplit[2+ '/+ arrSplit[3+ '/+ arrSplit[4]); 
                
    var bGoodDay; 
                bGoodDay 
    = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1== Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); 
                
    if (!bGoodDay){ 
                      alert('輸入的身份證號里出生日期不對!');   
                       
    return false
                }
    else
                    
    var userBirthDay = String(G('userBirthDay').value);
                    String.prototype.replaceAll  
    = function(s1,s2){return this.replace(new RegExp(s1,"gm"),s2);}  
                    userBirthDay 
    = userBirthDay.replaceAll("-","/");
                    
    var birthDay = new Date(userBirthDay);
                    alert(birthDay);
                    
                    
    //將15位身份證轉(zhuǎn)成18位 
                    //校驗位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認為是數(shù)字10。 
                      var arrInt = new Array(7910584216379105842); 
                       
    var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); 
                       
    var nTemp = 0, i;   
                        num 
    = num.substr(06+ '19+ num.substr(6, num.length - 6); 
                      
    for(i = 0; i < 17; i ++){ 
                        nTemp 
    += num.substr(i, 1* arrInt[i]; 
                       } 
                       num 
    += arrCh[nTemp % 11];   
                    
    return num;   
                }   
            }
    else if(len == 18) { 
                re 
    = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/); 
                
    var arrSplit = num.match(re); 

                
    //檢查生日日期是否正確 
                var dtmBirth = new Date(arrSplit[2+ "/" + arrSplit[3+ "/" + arrSplit[4]); 
                
    var bGoodDay; 
                bGoodDay 
    = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1== Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); 
                
    if (!bGoodDay){ 
                    alert(dtmBirth.getYear()); 
                    alert(arrSplit[
    2]); 
                    alert('輸入的身份證號里出生日期不對!'); 
                    
    return false
                }
    else
                    
    //檢驗18位身份證的校驗碼是否正確。 
                    //校驗位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認為是數(shù)字10。 
                    var valnum; 
                    
    var arrInt = new Array(7910584216379105842); 
                    
    var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); 
                    
    var nTemp = 0, i; 
                    
    for(i = 0; i < 17; i ++){ 
                        nTemp 
    += num.substr(i, 1* arrInt[i]; 
                    } 
                    valnum 
    = arrCh[nTemp % 11]; 
                    
    if (valnum != num.substr(171)) { 
                        alert('18位身份證的校驗碼不正確!應該為:' 
    + valnum); 
                        
    return false
                    } 
                    
    return num; 
                } 
            } 
            
    return false
        }  
    </script> 



    名稱: ?4C.ESL | .↗Evon
    口號: 遇到新問題?先要尋找一個方案乄而不是創(chuàng)造一個方案こ
    mail: 聯(lián)系我


    主站蜘蛛池模板: 久久久亚洲裙底偷窥综合| 亚洲永久精品ww47| 国产亚洲国产bv网站在线| 久草免费手机视频| 国产亚洲人成网站在线观看不卡| 伊人久久国产免费观看视频| 亚洲Av无码乱码在线观看性色| 高潮内射免费看片| 亚洲精品WWW久久久久久 | 亚洲蜜芽在线精品一区| 97在线视频免费| 亚洲综合一区二区精品久久| 亚洲视频免费播放| 亚洲www在线观看| 午夜电影免费观看| 亚洲aⅴ天堂av天堂无码麻豆| 日韩免费毛片视频| 美女隐私免费视频看| 亚洲七七久久精品中文国产| 成人免费av一区二区三区| 亚洲级αV无码毛片久久精品| 免费A级毛片无码专区| 亚洲一区二区三区高清视频| 毛片免费视频播放| 视频一区二区三区免费观看| 在线观看亚洲精品国产| 免费人成黄页在线观看日本| 亚洲国产成人久久99精品| 青青草国产免费久久久91| 成人午夜免费视频| 久久久久亚洲AV片无码| 毛片免费全部播放一级| 四虎一区二区成人免费影院网址| 亚洲日韩一页精品发布| 免费成人福利视频| 日韩在线视频免费| 亚洲天堂一区二区三区| 四虎免费影院4hu永久免费| 久久久国产精品福利免费| 亚洲偷自拍另类图片二区| 亚洲国产中文字幕在线观看|