Regular Expression for Password Strength Validation

后端 未结 6 1272
隐瞒了意图╮
隐瞒了意图╮ 2021-01-01 02:21

I have written a regular expression which could potentially be used for password strength validation:

^(?:([A-Z])*([a-z])*(\\d)*(\\W)*){8,12}$
6条回答
  •  轮回少年
    2021-01-01 03:07

    Try it ==>

    var PasswordStrength = function () {
        var p_worker = {
            checkMark: function ( msg, mark ) {
                let strength = "Required!!!", status = true;
                switch ( mark ) {
                    case 1: strength = ' Password strength: Weak...'; break;
                    case 2: strength = ' Password strength: Semi-weak...'; break;
                    case 3: strength = ' Password strength: Medium...'; break;
                    case 4: strength = ' Password strength: Strong...'; break;
                    default: status = false; break;
                }
                return { status: status/*[is valid or not]*/, cur_strength: strength/**[strength msg]*/, req_msg: msg/**[required msg]*/, mark: mark/**[strength mark]*/ };
            },
            setting: {
                n: { rgx: /[0-9]/, msg: '1 Numeric character' },
                c: { rgx: /[A-Z]/, msg: '1 Alphabet character' },
                s: { rgx: /[a-z]/, msg: '1 Small character' },
                sp: { rgx: /[@#$\.%^&+=]/, msg: '1 Special character' },
            }
        };
        return {
            check: function ( value ) {
                let msg = "", mark = 0, c = 0;
                for ( let i in p_worker.setting ) {
                    if ( !p_worker.setting[i]['rgx'].test( value ) ) {
                        if ( c === 3 ) {
                            msg += '[*] ' + p_worker.setting[i]['msg'] + '';
                            c++; continue;
                        }
                        msg += '[*] ' + p_worker.setting[i]['msg'] + ',
    '; c++; continue; } if ( c === 3 ) { msg += ' ' + p_worker.setting[i]['msg'] + ''; mark++; c++; continue; } msg += ' ' + p_worker.setting[i]['msg'] + ',
    '; mark++; c++; } return p_worker.checkMark( msg, mark ); } } }();

    Use ==>

    PasswordStrength.check( "1234$#" );
    

提交回复
热议问题