Jquery使用特殊字符验证插件号验证

时间:2011-01-24 14:05:29

标签: jquery jquery-plugins validation jquery-validate

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

验证脚本是

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

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

但是,我想要包含(或允许)特殊字符“+”,“-”和“,”以及单词“NA”in我的形式。我怎么能这样做?单词“NA”应单独验证,不带任何其他字母或数字。

提前致谢.. :))

blasteralfred

2 个答案:

答案 0 :(得分:7)

您可以使用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/

答案 1 :(得分:1)

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

在您的情况下,您可以使用默认数据验证格式验证器

<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

的完整文档