【问题标题】:jQuery Validation methods for zip code邮政编码的jQuery验证方法
【发布时间】:2014-01-14 23:34:28
【问题描述】:

我正在尝试验证表单字段中的邮政编码。当用户输入太多或太少时,我应用于邮政编码对象的这种方法将正确验证表单,但如果他们什么都不做,那么表单中的占位符文本“12345”允许用户通过验证成功。所以我试图在此代码中添加类似“或==”12345“然后返回false”的内容。有什么想法吗?

jQuery.validator.addMethod('zipcode', function(value, element) {

      return this.optional(element) || !!value.trim().match(/^\d{5}(?:[-\s]\d{4})?$/) || !!value == "12345";

    }, 'Invalid zip code');

【问题讨论】:

    标签: jquery forms jquery-validate


    【解决方案1】:

    我想你只是想要:

    return this.optional(element) || 
        (/^\d{5}(?:[-\s]\d{4})?$/.test(value.trim()) && value !== "12345");
    

    或者如果您实际上使用的是placeholder 属性,则更加稳健:

    return this.optional(element) || 
        (/^\d{5}(?:[-\s]\d{4})?$/.test(value.trim()) && 
               value !== $(element).attr('placeholder'));
    

    我还将match 替换为test,如果您只想知道字符串是否与正则表达式匹配,则应该使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 2018-07-21
      • 2014-09-08
      相关资源
      最近更新 更多