在使用jquery.validator.addMethod时,允许使用短划线符号的正确正则表达式是什么?

时间:2015-06-21 21:50:38

标签: jquery regex

我无法理解这一点。我正在使用jquery.validator.addMethod。目前我有以下内容:

jQuery.validator.addMethod("alphanumeric", function(value, element) {
    return this.optional(element) || /^\w+$/i.test(value);
}, "Letters, numbers, and underscores only please");

这允许使用字母,下划线和数字。但我需要允许而不是下划线将是一个破折号(-)。

我是正则表达式的新手,我一直试图找出这个简单的问题,但我无法找到办法。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

它被称为“破折号”试试这个:

jQuery.validator.addMethod("alphanumeric", function(value, element) {
    return this.optional(element) || /^[a-z0-9\-]+$/i.test(value);
}, "Letters, numbers, and dashes only please");

答案 1 :(得分:1)

您可以通过指定obj.loc++;规则和消息来实现相同的结果,如下所示:

pattern
$('form').validate({
    rules: {
      alphanumdash: {
        required: true,
        pattern: /^[a-z0-9\-]+$/
      }
    },
    messages: {
      alphanumdash: {
        required: 'AlphaNumDash is required',
        pattern: 'Letters, numbers, and dashes only please'
      }
    }
});