时间:2021-05-25
最近项目开发中遇到这样的需求“手机号码或者固话至少填写一个”,如下图所示:
项目采用的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里面使用
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
//手机号码验证jQuery.validator.addMethod("mobile",function(value,element){varlength=va
主要分几部分jquery.validate基本用法jquery.validateAPI说明jquery.validate自定义jquery.validate常见
手机号码验证以下为引用内容:复制代码代码如下:jQuery.validator.addMethod("mobile",function(value,elemen
本文实例讲述了jQuery实现手机号码输入提示功能的方法。分享给大家供大家参考。具体实现方法如下:jQuery手机号码输入提示*{margin:0;paddin
建行卡绑定手机号码更换的方法是: 1、最直接的方法就是去建设银行填写手机号码变更单,填写个人要变更的手机号码,交于银行柜台工作人员办理即可,绑定手机号码每年收