Проверка надёжности пароля на JavaScript

17:34 12.06.2017
Захотелось написать небольшую проверку пароля на надёжность. Надёжность проверяется по количеству введённых символов в поле input (type="password") и сразу выводит состояние надёжности.
И так, допустим у нас есть такое поле:
<input id="pas" type="password" name="password">

Под этим полем вставляем блок:
<div id="display"></div>

Дале пишем сценарий проверки:
<script type="text/javascript">
$(document).keyup(function() {
    var string = $('#pas').val();
    if (string.length <= 4) {
        var complexity = 'Ненадёжный пароль';
    }
    else if (string.length > 4 && string.length < 8) {
        var complexity = 'Средний пароль';
    }
    else {
        var complexity = 'Надёжный пароль';
    }
 
    $('#display').html(complexity);
});
</script>


И еще один вариант на чистом JS. Добавлена проверка на наличие цифр, латинских и не латинских букв.
<input id="pas" type="password" onInput="job();"> <span id="display"></span>

function job() {
    var pas = document.getElementById('pas').value;
    var level, nicety = 0;

    if (pas.length < 6) {
        nicety = nicety + 1;
    }
    else if (pas.length >= 6 && pas.length < 9) {
        nicety = nicety + 2;
    }
    else if  (pas.length >= 9 && pas.length < 12) {
        nicety = nicety + 3;
    }
    else {
        nicety = nicety + 4;
    };
    
    if (/\d/.test(pas)) {
        var figures = pas.match(/\d/g);
        if (figures.length < 3) {
            nicety = nicety + 1;
        }
        else {
            nicety = nicety + 2;
        };
    };

    if (/\w/.test(pas)) {
        var letter = pas.match(/\w/g);
        if (letter.length < 3) {
            nicety = nicety + 1;
        }
        else {
            nicety = nicety + 2;
        };
    };

    if (/[а-яё]/.test(pas)) {
        var cyrillic = pas.match(/[а-яё]/g);
        if (cyrillic.length < 3) {
            nicety = nicety + 1;
        }
        else {
            nicety = nicety + 2;
        };
    };

    if (nicety < 4)    {
        level = 'Ненадёжный пароль';
    }
    else if (nicety >= 4 && nicety <= 6) {
        level = 'Средний пароль';
    }
    else {
        level = 'Надёжный пароль';
    }
    
    document.getElementById('display').innerHTML = level;
};