我正在使用jQuery validation-plugin来验证表单的字段。我有一个场景,我们需要验证一个字段,只允许逗号和数字。
这是我的HTML代码:
<input type="text" placeholder="Number of Employees" required class="form-control" name="employeeno">
以下是jQuery验证插件规则:
employeeno:{
Regex: "[0-9,]+",
minlength: 1,
maxlength: 20
},
jQuery.validator.addMethod("Regex", function(value, element, param) {
return value.match(new RegExp("." + param + "$"));
}, "Please enter a valid number");
如果我输入至少2个字符,此代码实际上有效。但如果我只输入一个数字 - 例如2或3 - 它显示错误,尽管我已将最小长度设置为1。为什么呢?
答案 0 :(得分:4)
你的正则表达式不正确。正则表达式中的.
匹配任何一个字符,您需要使用^
作为行的开头
return value.match(new RegExp("^" + param + "$"));
^^ here
但您可以使用其他方法文件中的模式规则
rules: {
employeeno: {
pattern: /^[0-9,]+$/,
minlength: 1,
maxlength: 20
}
},
messages: {
employeeno: {
pattern: 'Please enter a valid number'
}
}
演示:Fiddle