средство проверки надежности пароля jQuery

Можно создать недостающий объект при помощи substitute() без аргумента.

В Вашем случае мы могли сделать round1 недостающий объект в else пункт:

foo = function(a, round0) {
  a = a * pi
  if(!missing(round0)) round(a)
  else a
}

bar = function(b) {
  if(b > 10) round1=T else round1 <- substitute()
  foo(b, round1)
}

bar(9)
#> [1] 28.27433

, Созданный 24.10.2019 reprex пакет (v0.3.0) глоток>

33
задан Evernoob 7 September 2009 в 10:17
поделиться

6 ответов

Лучший способ - использовать существующий плагин, как предлагает TJB.

Что касается вашего вопроса о самом коде, лучше написать его так:

var pass = "f00Bar!";

var strength = 1;
var arr = [/.{5,}/, /[a-z]+/, /[0-9]+/, /[A-Z]+/];
jQuery.map(arr, function(regexp) {
  if(pass.match(regexp))
     strength++;
});

(Изменено для исправления синтаксических ошибок.)

28
ответ дан 27 November 2019 в 18:34
поделиться

Вы можете попробовать плагины jQuery для проверки надежности пароля

Некоторые из них

Password Strength Meter

Password Strength Indicator

1
ответ дан 27 November 2019 в 18:34
поделиться
  • Длина пароля должна быть не менее 8 символов.
  • Сила увеличивается с увеличением длины, более длинный пароль должен содержать больше точек.
  • Включите специальные символы, такие как # / " и тому подобное. (Или просто любой другой, кроме [a-Z0-9])
  • Для действительно длинных паролей этот метод может работать медленно. Почему бы вам просто не проверить каждый новый символ и не использовать словарь, в котором есть пароль уже есть.
1
ответ дан 27 November 2019 в 18:34
поделиться

В дополнение к ответу gs вы должны проверить пароль по общим словарным словам (возможно, используя хеш). В противном случае слабый пароль, такой как «Yellow1», будет оценен вашей логикой как надежный.

2
ответ дан 27 November 2019 в 18:34
поделиться

Я бы посоветовал оценить существующий плагин надежности пароля jQuery. (если вы не делаете это просто в качестве упражнения)

Вот несколько ссылок, которые я нашел:

http://www.visual-blast.com/javascript/password-strength-checker/

http: / /phiras.wordpress.com/2007/04/08/password-strength-meter-a-jquery-plugin/

7
ответ дан 27 November 2019 в 18:34
поделиться

Если вы выполняете упражнение

Ссылка: Индикатор надежности пароля

Используемый код jQuery (# обозначает изменения по сравнению с кодом Бенджамина) code)

$.fn.passwordStrength = function( options ){
return this.each(function(){
    var that = this;that.opts = {};
    that.opts = $.extend({}, $.fn.passwordStrength.defaults, options);

    that.div = $(that.opts.targetDiv);
    that.defaultClass = that.div.attr('class');

    that.percents = (that.opts.classes.length) ? 100 / that.opts.classes.length : 100;

    v = $(this)
    .keyup(function(){
        if( typeof el == "undefined" )
        this.el = $(this);
        var s = getPasswordStrength (this.value);
        var p = this.percents;
        var t = Math.floor( s / p );

        if( 100 <= s )
        t = this.opts.classes.length - 1;

        this.div
        .removeAttr('class')
        .addClass( this.defaultClass )
        .addClass( this.opts.classes[ t ] );
    })
    # Removed generate password button creation
});

function getPasswordStrength(H){
    var D=(H.length);

    # Added below to make all passwords less than 4 characters show as weak
    if (D<4) { D=0 }


    if(D>5){
        D=5
    }
    var F=H.replace(/[0-9]/g,"");
    var G=(H.length-F.length);
    if(G>3){G=3}
    var A=H.replace(/\W/g,"");
    var C=(H.length-A.length);
    if(C>3){C=3}
    var B=H.replace(/[A-Z]/g,"");
    var I=(H.length-B.length);
    if(I>3){I=3}
    var E=((D*10)-20)+(G*10)+(C*15)+(I*10);
    if(E<0){E=0}
    if(E>100){E=100}
    return E
}


# Removed generate password function
};

$(document)
.ready(function(){
$('input[name="password2"]').passwordStrength({targetDiv: '#iSM',classes : Array('weak','medium','strong')});

});
2
ответ дан 27 November 2019 в 18:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: