Robustezza password con jQuery e regexp

In questo articolo presento uno script per verificare la robustezza di una password.
Lo script javascript fa uso di jQuery e regexp e basa la valutazione della robustezza sull’esistenza di numeri e lettere maiuscole.

Codice:


<input type=”password” name=”pass” id=”pass” />
<span id=”passstrength”></span>
$('#pass').keyup(function(e) {
 var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*W).*$", "g");
 var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
 var enoughRegex = new RegExp("(?=.{6,}).*", "g");
 if (false == enoughRegex.test($(this).val())) {
    $('#passstrength').html('More Characters');
 } else if (strongRegex.test($(this).val())) {
    $('#passstrength').className = 'ok';
    $('#passstrength').html('Strong!');
 } else if (mediumRegex.test($(this).val())) {
    $('#passstrength').className = 'alert';
    $('#passstrength').html('Medium!');
 } else {
    $('#passstrength').className = 'error';
    $('#passstrength').html('Weak!');
 }
 return true;
})

Michele Pierri

Sviluppatore android/web/desktop, blogger, nonchè sostenitore incallito dell’universo Cloud Computing, nel tempo libero amo fare sport e praticare arti marziali.