Проверка пароля

Есть задание: Напишите код javascript для проверки введенного пароля. Не могу понять, какая конкретно проверка подразумевается, просто совпадение? Тогда подозрительно простое задание. Есть идеи?
3 ответа

Минимальная длина и возможно определенные символы должны присутствовать, нельзя простой пароль, варианты придумывать надо, хотя бы чтобы не было одним символом..... Тут нет однозначного рецепта.


А ну понял, в целом. Пока ждал ответа на пост, начали мысли в голову приходить.


Если еще актуально, вот пример функции, с помощью которой можно протестировать пароль:
function Validate(StrongPasswordArray, lengthOfPassword, wantSymbols) {
    var hasAnUpperCaseLetter = false;
    var hasALowerCaseLetter = false;
    var hasANumber = false;
    var hasASymbol = false;
    var correctLength = false;
    for (var i = 0; i < StrongPasswordArray.length; i++) {
        if ("A" <= StrongPasswordArray[i] && StrongPasswordArray[i] <= "Z") {
            hasAnUpperCaseLetter = true;
            break;
        }
    }
    for (i = 0; i < StrongPasswordArray.length; i++) {
        if ("a" <= StrongPasswordArray[i] && StrongPasswordArray[i] <= "z") {
            hasALowerCaseLetter = true;
            break;
        }
    }
    for (i = 0; i < StrongPasswordArray.length; i++) {
        if ("0" <= StrongPasswordArray[i] && StrongPasswordArray[i] <= "9") {
            hasANumber = true;
            break;
        }
    }
    if (wantSymbols) {
        for (i = 0; i < StrongPasswordArray.length; i++) {
            for (var iSymbols = 0; iSymbols < theSymbols.length; iSymbols++) {
                if (StrongPasswordArray[i] == theSymbols[iSymbols]) {
                    hasASymbol = true;
                    break;
                }
            }
        }
    }
    if (StrongPasswordArray.length == lengthOfPassword) {
        correctLength = true;
    }
    if (!wantSymbols) {
        hasASymbol = true;
    }
    if (!hasAnUpperCaseLetter || !hasALowerCaseLetter || !hasANumber || !hasASymbol || !correctLength) {
        lengthOfPassword = "";
        loop = "";
        hasAnUpperCaseLetter = "";
        hasALowerCaseLetter = "";
        hasANumber = "";
        hasASymbol = "";
        correctLength = "";
        return false;
    }
    else {
        return true;
    }
}
Тут в StrongPasswordArray - собственно массив сгенерированных рандомно символов пароля, lengthOfPassword - указанная пользователем длина пароля, wantSymbols - использовать или нет в пароле спецсимволы.Пароль можно проверить и регулярным выражением. Если будут трудности - напишите критерии пароля - поможем составить.