Regex и JQuery подтверждают. Отрицательное выражение

Я работаю над методом добавления для плагина 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/

Спасибо

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/

Другие вопросы по тегам