<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)系我


    主站蜘蛛池模板: 久久伊人免费视频| 免费在线观看理论片| 毛片免费在线观看网站| 亚洲AV无码一区二区大桥未久| 亚洲男女内射在线播放| 久久九九兔免费精品6| 精品一区二区三区免费毛片| 国产AV无码专区亚洲Av| 精品免费久久久久久成人影院| 在线免费播放一级毛片| 亚洲精品123区在线观看| 亚洲日韩精品一区二区三区无码 | 国产精品青草视频免费播放| 老色鬼久久亚洲AV综合| 免费人成网站在线高清| 13一14周岁毛片免费| 久香草视频在线观看免费| 久久亚洲精品专区蓝色区| 亚洲精品国产字幕久久不卡| 日韩午夜免费视频| 91制片厂制作传媒免费版樱花| 日韩色视频一区二区三区亚洲| 免费看美女被靠到爽的视频| 两个人看的www免费视频| 亚洲精品伦理熟女国产一区二区 | 老子影院午夜伦不卡亚洲| 亚洲综合在线视频| 国产精品亚洲w码日韩中文| 午夜免费不卡毛片完整版| 日韩在线不卡免费视频一区| 国产精品免费观看视频| 亚洲欧洲av综合色无码| 亚洲美女视频网站| 亚洲av无码一区二区三区网站 | 91精品国产免费久久久久久青草| 2022免费国产精品福利在线| 亚洲AV无码AV男人的天堂不卡| 亚洲电影在线免费观看| 亚洲av无码不卡一区二区三区| 亚洲国产精品尤物yw在线 | 亚洲国产午夜中文字幕精品黄网站|