栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

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

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用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 ? v === "" : false);
}

处理validate的errorPlacement:

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


在rules里面使用

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/106126.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号