我正在使用 jQuery 验证插件来验证表单的字段。我有一个场景,我们需要验证一个字段以仅允许逗号和数字。
这是我的 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。为什么?
最佳答案
您的正则表达式不正确。 .
在正则表达式中匹配任何一个字符,你需要使用 ^
作为行的开头
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
关于javascript - 在 JQuery 验证中允许数字和逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32049131/