0

3 つ以上の連続した同一文字が入力されたかどうかを検出し、メッセージを表示する必要がある jquery 検証プラグインの追加メソッドに取り組んでいます。そのためには、正規表現を否定する必要があります。これは私の方法です:

$.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

コメントで Pointy が述べているように、!文字を使用して結果を否定または反転します。

$.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 に答える