当前位置: 首页 > 编程笔记 >

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

公西飞鸾
2023-03-14
本文向大家介绍使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证,包括了使用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 : []
        }
      }
 类似资料:
  • 本文向大家介绍jquery实现手机号码选号的方法,包括了jquery实现手机号码选号的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery实现手机号码选号的方法。分享给大家供大家参考。具体如下: 前段时间看到联通的自由组合套餐非常诱人于是决定换号,但选号是个非常累人的活在免费的号码列表中选了好久都没选到心仪的号码,于是写了个脚本去分析这些手机号码,虽然不是非常准确,但至少把那堆

  • 本文向大家介绍Java使用正则表达式验证手机号和电话号码的方法,包括了Java使用正则表达式验证手机号和电话号码的方法的使用技巧和注意事项,需要的朋友参考一下 一个朋友需要,所以写了这两个,话不多说,看代码 中国电信号段 133、149、153、173、177、180、181、189、199 中国联通号段 130、131、132、145、155、156、166、175、176、185、186 中国

  • 本文向大家介绍Android自定义View实现随机验证码,包括了Android自定义View实现随机验证码的使用技巧和注意事项,需要的朋友参考一下 对于android开发来说自定义View还是一个比较重要的技能,所以在这里写一篇自定义View入门的文章,也是实现一个相对简单的随机产生验证码的功能: 自定义View主要也就分为几步  1.自定义View的属性  2.在我们的自定义的布局中获取自定义属

  • 我正在尝试使用和的组合来实现一些spring bootendpoint的自定义验证逻辑。 根据验证器类图,似乎可以扩展、或中的一个,以便在重写的方法中添加一些自定义验证逻辑。 但是,如果我创建一个扩展这三个类中任何一个的验证器,并使用注册它,它的方法就永远不会被调用,也不会执行任何验证。如果删除,则默认的spring验证器将执行。 Rest控制器: 自定义验证程序: 如果我的验证器实现了,则调用其

  • 本文向大家介绍手机号码验证方法(正则验证),包括了手机号码验证方法(正则验证)的使用技巧和注意事项,需要的朋友参考一下 只允许输入数字 下面看下最新手机号码验证正则表达式 由于手机号段的不断更新,以前的正则表达式已经无法满足需求。重新编写这条表达式,号段资料来源依据:http://www.jihaoba.com/tools/haoduan/ 现有手机号段: 移动:139   138   137  

  • 本文向大家介绍Android 手机获取手机号实现方法,包括了Android 手机获取手机号实现方法的使用技巧和注意事项,需要的朋友参考一下 最近做到一个项目,需要获取手机号。项目中使用的手机卡为电信卡,那么就以此为例吧。 网上不符合需求的方法 Google了一下,网上的做法如下: 添加权限: <uses-permissionandroid:nameuses-permissionandroid:na