Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/public/main/inc/lib/javascript/password-checker/password-checker.js

46 lines
1.5 KiB

(function ($) {
$.fn.passwordChecker = function (options) {
options = $.extend({
rules: []
}, options);
this.each(function (i, el) {
var $el = $(el);
var $parent = $el.parent();
var $ulHelp = $('<ul class="help-block fa-ul"></ul>');
var helpTexts = [];
$(options.rules).each(function (j, rule) {
helpTexts.push(
$('<li>')
);
helpTexts[j].text(rule.helpText).appendTo($ulHelp).append('<span class="fa fa-fw fa-li ">');
});
$ulHelp.insertAfter($parent);
$el
.on('input', function () {
var tempPassword = this.value;
$(options.rules).each(function (j, rule) {
var match = tempPassword.match(
new RegExp(rule.pattern, 'g')
);
if (match && match.length >= rule.minChar) {
helpTexts[j].removeClass('text-error').addClass('text-success')
.find('.fa-li').removeClass('fa-times').addClass('fa-check');
} else {
helpTexts[j].addClass('text-error').removeClass('text-success')
.find('.fa-li').addClass('fa-times').removeClass('fa-check');
}
});
})
.trigger('input');
});
};
})(jQuery);