javascript - 在 JQuery 验证中允许数字和逗号?

标签 javascript jquery html validation

我正在使用 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/

相关文章:

javascript - 为什么 HTML anchor 不能更改 URL?

javascript - jQuery、IE 7 对象不支持此属性或方法

javascript - onClick 带参数的匿名函数 vs onClick(function(arguments))

javascript - 使用 jQuery Validation 插件进行数据类型验证

javascript - 验证文本字段的前 2 个字符

javascript - 单击时Angularjs将元素添加到DOM

javascript - 为什么我的 HTML div 没有出现在我的 HTML Canvas 上?

javascript - 单击跨度内的隐藏文件输入会导致 RangeError

html - 如何仅在悬停时显示滚动条? (支持手机)

javascript - 仅在需要时更新 HTML