【问题标题】:Jquery validate plugin number validation with special charactersJquery使用特殊字符验证插件编号验证
【发布时间】:2011-01-24 14:05:29
【问题描述】:

我正在使用 jquery validate 插件来验证表单中的数字字段。

验证的脚本是

NUMBER: {
    required: true,
        number: true,
    minlength: 4,
    },

验证我的表单域<input name="NUMBER" type="text" id="NUMBER" value="" maxlength="4" >

但是,我想在我的表单域中包含(或允许)特殊字符“+”、“-”和“,”以及单词“NA”。我怎样才能做到这一点?单词“NA”应该单独验证,没有任何其他字母或数字..

提前谢谢.. :)

爆破

【问题讨论】:

    标签: jquery jquery-plugins validation jquery-validate


    【解决方案1】:

    您可以通过your own custom rule for validator 完成此操作:

    $.validator.addMethod("custom_number", function(value, element) {
        return this.optional(element) || value === "NA" ||
            value.match(/^[0-9,\+-]+$/);
    }, "Please enter a valid number, or 'NA'");
    

    这将验证字段是否为可选、等于“NA”或满足正则表达式。

    然后您只需将此新规则应用于您想要的任何字段:

    $("form").validate({
        rules: {
            number: {
                required: true,
                custom_number: true,
                minlength: 4
            }
        }
    });
    

    显然,您应该将名称 custom_number 替换为更具描述性的名称。

    在这里查看一个工作示例:http://jsfiddle.net/andrewwhitaker/RtK2p/1/

    【讨论】:

      【解决方案2】:

      查看这个http://archive.plugins.jquery.com/project/jvalidation 更灵活且易于使用,尺寸小于 3 k。

      在您的情况下,您可以使用默认的 data-validate-format 验证器

      <input data-validate-format='/^([0-9,\+-]{0,4}|NA)$/' />
      

      检查我作为属性值输入的正则表达式

      他们有一个示例,用于扩展可选验证,例如数字

      $.fn.validations.options.validators.age = function(){
        return this.val()>0&&this.val()<100;
      }
      

      然后在你的 html 中添加类似的东西

      <input data-validate-age='true' data-validate-error='.err1' />
      <div class='err1'>Age should be more than 0 and less than 100!</div>
      

      查看jQuery Validation Plugin的完整文档

      【讨论】:

        猜你喜欢
        • 2014-06-29
        • 2012-12-21
        • 2013-05-16
        • 1970-01-01
        • 2011-03-09
        • 2019-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多