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);
        }

 

posted @ 2019-03-15 15:09  SilentKiller  阅读(896)  评论(0编辑  收藏  举报