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" в демонстрационный пример ниже, он удовлетворяет достаточно другим правилам, чтобы продемонстрировать, что этот конкретный метод работает.