手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
摘要:最近项目开发中遇到这样的需求“手机号码或者固话至少填写一个”,如下图所示:项目采用的jquery.validate.js验证组件,目前组件不...

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

使用jquery.validate自定义方法实现

项目采用的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 " : false); }

处理validate的errorPlacement:

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

在rules里面使用

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

【使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证】相关文章:

jQuery实现将页面上HTML标签换成另外标签的方法

Javascript 事件捕获的备忘(setCapture,captureEvents)

用JavaScript实现对话框的教程

Jquery使用val方法读写value值

javascript下使用Promise封装FileReader

JS选项卡动态替换banner图片路径的方法

javascript实现表格增删改操作实例详解

理解javascript的caller,callee,call,apply概念

JS的IE和Firefox兼容性集锦

JavaScript中switch语句的用法详解

精品推荐
分类导航