表单脚本传递强度并生成传递

时间:2013-03-24 09:41:41

标签: php javascript forms

我在表单上输入了以下密码:

$('#genPass').click(function() {
    var password = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for (var i = 0; i < 12; i++)
    password += possible.charAt(Math.floor(Math.random() * possible.length));
    $('input[name="password"]').val(password);
    document.getElementById("str").innerHTML = password;


});

function passwordStrength(password)

{

    var desc = new Array();

    desc[0] = "Very Weak";

    desc[1] = "Weak";

    desc[2] = "Better";

    desc[3] = "Medium";

    desc[4] = "Strong";

    desc[5] = "Strongest";



    var score   = 0;



    //if password bigger than 6 give 1 point

    if (password.length > 6) score++;



    //if password has both lower and uppercase characters give 1 point      

    if ( ( password.match(/[a-z]/) ) && ( password.match(/[A-Z]/) ) ) score++;



    //if password has at least one number give 1 point

    if (password.match(/\d+/)) score++;



    //if password has at least one special caracther give 1 point

    if ( password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/) ) score++;



    //if password bigger than 12 give another 1 point

    if (password.length > 12) score++;



     document.getElementById("passwordStrength").innerHTML = desc[score];

     document.getElementById("passwordStrength").className = "strength" + score;


}

输入字段并生成密码按钮:

<input name="password" type="password" size="25" maxlength="20" id="pass" onchange="passwordStrength(this.value)" onselect="passwordStrength(this.value)" onclick="passwordStrength(this.value)"/>


<button id="genPass" type="button">Generate Password !</button>

现在,当您点击一个按钮时,它会在密码输入中生成密码,但只有在您输入密码输入字段后,才会显示通过强度。 当你点击生成按钮时,我希望它显示强度,任何想法?

1 个答案:

答案 0 :(得分:0)

$('#genPass').click(function() {
    var password = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for (var i = 0; i < 12; i++)
    password += possible.charAt(Math.floor(Math.random() * possible.length));
    $('input[name="password"]').val(password);
    document.getElementById("str").innerHTML = password;
    passwordStrength(password); //added this

});