在JQuery验证中允许使用数字和逗号?

时间:2015-08-17 11:23:27

标签: javascript jquery html validation

我正在使用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。为什么呢?

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

相关问题