js 正則表達式 驗證與限制


....

//驗證身份證格式
function onIDCardsValidation(e) {
    if (e.isValid) {
        var pattern = /\d*/;
        if (!(e.value==undefined||e.value==null||e.value=="")&&!(e.value.length >= 15 && e.value.length <= 18 && pattern.test(e.value))) {
            e.errorText = "請輸入正確的身份證號碼";
            e.isValid = false;
        }
    }
}
//驗證手機號碼格式
function onPhoneValidation(e) {
    if (e.isValid) {
        var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;if (!(e.value==undefined||e.value==null||e.value=="")&&!(e.value.length == 11 && pattern.test(e.value))) {
            e.errorText = "請輸入正確的手機號碼";
            e.isValid = false;
        }
    }
}
//驗證郵政編碼格式
function onPostcodesValidation(e) {
    if (e.isValid) {
        var pattern = /\d*/;
        if (!(e.value==undefined||e.value==null||e.value=="")&&!(e.value.length == 6 && pattern.test(e.value))) {
            e.errorText = "請輸入正確郵政編碼";
            e.isValid = false;
        }
    }
}
//驗證年齡格式
function onAgeValidation(e) {
    if (e.isValid) {
        var pattern = /\d*/;
        if (!(e.value==undefined||e.value==null||e.value=="")&&!(e.value.length < 3 && pattern.test(e.value))) {
            e.errorText = "年齡須<=99";
            e.isValid = false;
        }
    }
}
//驗證由字母數字組成的數據格式
function onEnglishAndNumberValidation(e) {
    if (e.isValid) {
        if (isEnglishAndNumber(e.value) == false) {
            e.errorText = "必須輸入英文+數字";
            e.isValid = false;
        }
    }
}
//驗證由中文組成的數據格式
function onChineseValidation(e) {
    if (e.isValid) {
        if (isChinese(e.value) == false) {
            e.errorText = "必須輸入中文";
            e.isValid = false;
        }
    }
}

/* 是否英文+數字 */
function isEnglishAndNumber(v) {
    
    var re = new RegExp("^[0-9a-zA-Z\_]+$");
    if (re.test(v)) return true;
    return false;
}

/* 是否漢字 */
function isChinese(v) {
    var re = new RegExp("^[\u4e00-\u9fa5]+$");
    if (re.test(v)) return true;
    return false;
}

 ---

// 證件驗證  並往出生日期,性別設值
        function checkIdCard(e){  //mini-textbox onblur  // 失去焦點時發生
            //獲取輸入身份證號碼 
               var UUserCard = e.value;
              
              if(UUserCard!=""){
             //用正則表達式檢查身份證號碼是否有誤!
               var re = /^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}([0-9]|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}))$/;
               if(!re.test(UUserCard)){
                    //alert("身份證號碼有誤,請重新填寫!");
                    mini.alert("號碼有誤,請重新填寫!");
                    //form.setIsValid(false);
                    //mini.get("id_card").focus();
                    return false;
               }else{
                  if(UUserCard.length==15){
                      UUserCard=C15ToC18(UUserCard);
                  }
                 //獲取性別 
                 if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) { 
                   //是男則執行代碼 ..
                 //document.getElementById("man").checked = true; 
                   mini.get("sex").setValue("1");
                 //是女則執行代碼 .. 
                 } else { 
                    mini.get("sex").setValue("2");
                     //document.getElementById("woman").checked = true; 

                 }
                 var myDate = new Date(); 
                 var month = myDate.getMonth() + 1; 
                 var day = myDate.getDate(); 
                 var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1; 
                 if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) { 
                    age++; 
                 } 
                 //年齡 age 
                 //document.getElementById("age").value= age; 
                 mini.get("age").setValue(age);
                 
                //判斷出生日期
                 if(UUserCard.length==15){
                     var year = "19"+UUserCard.substring(6,8)+"-"+UUserCard.substring(8,10)+"-"+
                     UUserCard.substring(10,12);
                     //document.getElementById("year").value = year;
                     mini.get("birthdate").setValue(year);
                 }
                 
                 if(UUserCard.length==18){
                     var year = UUserCard.substring(6,10)+"-"+UUserCard.substring(10,12)+"-"+
                     UUserCard.substring(12,14);
                    //document.getElementById("year").value = year;
                    mini.get("birthdate").setValue(year);
                 }
               }
               var sfz = '';
                var sfzhb =  UUserCard.split("")[UUserCard.length-1];
                var pattern2 = new RegExp("[A-Za-z]+");
                if(pattern2.test(sfzhb)){
                    
                    sfzhb=sfzhb.toUpperCase();
                    var sfzqb= UUserCard.split("").slice(0,-1);
                    for(var i=0;i<sfzqb.length;i++){
                            sfz +=sfzqb[i];            
                    }
                    sfz +=sfzhb;
                    mini.get("id_card").setValue(sfz);
                }
                
                
               
              }
            // console.log(e.value);
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM