JS中的密码强度计有效,但我想考虑唯一的字符



我在JavaScript中有一个函数,可以增加密码强度条。它目前只涉及字符串长度,如果它具有唯一的字符以及大写和小写字符的组合,我希望它增加更多。下面是当前确实有效的功能。

var bar = $('#progressbar div');
var password1 = $("#txtNewPassword");
var len = password1.val().length;
bar.css('width', len * 10 + '%');
if (len * 10 < 50) 
{
    bar.css('background', 'red');
} 
else if(len * 10 > 50 && len * 10 < 100) 
{
    bar.css('background', 'orange');
} 
else if (len * 10 >= 100)
{
    bar.css('background', 'green');
    $('#submitPC').removeAttr('disabled');
}

我还有一个提交按钮,当强度足够时启用和禁用。我希望它启用与现在相同的功能,但添加了新功能。下面是"添加"和"删除"属性。

if (len * 10 < 100 || password != confirmPassword) 
{
    $('#submitPC').attr('disabled', 'disabled');
} 
else 
{
    $('#submitPC').removeAttr('disabled');
}

我想我会在每个条件语句中使用一个变量集,这将使提交依赖于强度而不仅仅是像这样的长度。

if (blnStrength = true && password != confirmPassword) 
{
    $('#submitPC').attr('disabled', 'disabled');
} 
else 
{
    $('#submitPC').removeAttr('disabled');
}  

现在我希望它包含特殊字符,除非它包含至少 1 个大写和小写数字字符,否则永远不会达到 100%。目前1234567890abcdefghij将被归类为密码,而显然不是。 以下是我希望能够使用的几个示例最小值。

at least 1 number Ucase or LcaseKieran12345 或类似 K13r4NVen1s0N 应该是安全的

要测试您的密码是否包含所需的字符,您可以使用 RegExp。

要检查它是否包含数字:

hasdigit = /[0-9]/.test(password);

等于检查大写和小写:

hasdifferentcase = /[a-z]/.test(password) && /[A-Z]/.test(password);

相关内容

  • 没有找到相关文章

最新更新