我正在使用jquery validate插件来验证表单中的Number字段。
验证脚本是
NUMBER: {
required: true,
number: true,
minlength: 4,
},
验证我的表单<input name="NUMBER" type="text" id="NUMBER" value="" maxlength="4" >
但是,我想要包含(或允许)特殊字符“+
”,“-
”和“,
”以及单词“NA
”in我的形式。我怎么能这样做?单词“NA
”应单独验证,不带任何其他字母或数字。
提前致谢.. :))
blasteralfred
答案 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>
的完整文档