手机号码或者固定电话美高梅游戏官网网站
分类:新闻中心

【转载】[jquery.validate]自定义方法实现"手机号码或者固定电话"的逻辑验证,jqueryvalidate

最近项目开发中遇到这样的需求“手机号码或者固话至少填写一个”,如下图所示:

美高梅游戏官网网站 1

项目采用的jquery.validate.js验证组件,目前组件不支持这种“或”逻辑的验证,于是就自己定义一个

  

        jQuery.validator.addMethod("phone", function(value, element) {
            var mobile = $("#mobile").val();// 手机号码
            var telephone = $("#telephone").val();// 固定电话
            var mobileRule = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0-9]|170)d{8}$/;
            var telephoneRule = /^d{3,4}-?d{7,9}$/;

            // 都没填
            if (isEmpty(mobile) && isEmpty(telephone)) {
                //自定义错误提示
                $("#receivingMobile_tip").addClass("errorHint").text("请填写固定电话或手机号码");
                return false;
            }
            var mobilePass = false;
            var telephonePass = false;
            // 手机填了、固定电话没填
            if (!isEmpty(mobile) && isEmpty(telephone)) {
                if (!mobileRule.test(mobile)) {
                    //自定义错误提示
                    $("#receivingMobilePhone_tip").removeClass("successHint").addClass("errorHint").text("手机号码格式不对");
                    return false;
                } else {
                    mobilePass = true;
                }
            }

            // 手机没填、固定电话填了
            if (isEmpty(mobile) && !isEmpty(telephone)) {
                if (!telephoneRule.test(telephone)) {
                    //自定义错误提示
                    $("#receivingTelephone_tip").removeClass("successHint").addClass("errorHint").text("固定电话格式不对");
                    return false;
                } else {
                    telephonePass = true;
                }
            }

            if (mobilePass || telephonePass) {
                //自定义成功提示
                $("#receivingTelephone_tip").removeClass("errorHint").addClass("successHint").text('');
                return true;
            } else {
                return false;
            }
        }, "ignore");

补充isEmpty函数:

 // 空字符串判断
function isEmpty(v, allowBlank) {
      return v === null || v === undefined || (!allowBlank ? v === "" : false);
}

处理validate的errorPlacement:

errorPlacement : function(error, element) {
                //忽略自定义的方法错误提示
                if (error.text() == "ignore") {
                    return;
                }
         
            }

在rules里面使用 

rules : {
                telephone : {
                    phone : []
                },
                mobile : {
                    phone : []
                }
            }

 转自:

javascript中怎用jQuery使validate验证表单成功后再执行自定义函数?

检查不正确的话,onclik之后执行一个return 一个 false在onSave()之前  

javascript中怎用jQuery使validate验证表单成功后再执行自定义函数?

很简单。
$("#frmClient").validate({
rules: {
txtClientName: {
required: true,
minlength: 2
},
success: function(label) {
onSave();
}
});美高梅游戏官网网站,  

最近项目开发中遇到这样的需求手机号码或者固话至...

本文由美高梅网址发布于新闻中心,转载请注明出处:手机号码或者固定电话美高梅游戏官网网站

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文