0

我正在为 jquery validate 插件开发一种添加方法,该方法必须检测是否输入了 3 个或更多连续的相同字符,并提示一条消息。为此,我需要否定一个正则表达式。这是我的方法:

$.validator.addMethod("pwcheckconsecchars", function (value) {
    return /(.)\1\1/.test(value) // does not contain 3 consecutive identical chars
}, "The password must not contain 3 consecutive identical characters");

上面的代码在没有输入连续相同字符时显示错误消息,所以我需要对表达式取反,/(.)\1\1/以便它仅在出现错误时出现。

到目前为止,这个 jsfiddle 显示了我的代码:http: //jsfiddle.net/jj50u5nd/3/

谢谢

4

1 回答 1

1

正如评论中指出的那样,使用一个!字符来否定或反转结果。

$.validator.addMethod("pwcheckconsecchars", function (value) {
    return !/(.)\1\1/.test(value); // does not contain 3 consecutive identical chars
}, "The password must not contain 3 consecutive identical characters");

在下面的演示中输入“AAAa1”,它满足了足够的其他规则来证明这种特定方法是有效的。

演示:http: //jsfiddle.net/jj50u5nd/6/

于 2015-02-09T18:30:37.403 回答