介绍
使用角怎么判别用户密码的强度?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强>用户密码合法条件:强>
1, 8 ~ 16个字符
2,只能包含数字,字母和“_””。”(即不能含有非法特殊字符)
3,数字,字母和“_”。“至少包含两种
<强>实现过程:强>
长度检测-注:要区分中文和英文,中文两个字节,英文一个字节,在密码输入的时候是不能输入中文,但在检测用户名的使用,就需要区分中英文
//,获取字符串长度:中文也可正常获取 function GetStrLength (strData) { ,如果(! strData) { return 才能;0; ,} ,var length =, 0; ,for (var i=0, i检测是否包含字母:
function isIncludeLiter (strData) {,如果(! strData) { return 才能;假; ,} ,var reg =,/[a - z]/我; (!,if  reg.test (strData)) ,{ return 才能;假; ,} ,return 真实; }检测是否包含数字:
function isIncludeNumber (strData) { ,如果(! strData) { return 才能;假; ,} ,var reg =, [0 - 9]/; (!,if  reg.test (strData)) ,{ return 才能;假; ,} ,return 真实; }检测是否包含特殊字符:这里包含所有特殊字符
function isIncludeSChar (strData) { ,如果(strData ==,““) { return 才能;假; ,} ,//全部特殊字符 ,var reg =, new 正则表达式(“[”~ ! @ # $ ^,* %()_ +=|{}& # 39;:;& # 39;,\ \ \ \[\ \]。你们;祝辞/? ~ ! @ #¥……,* ()——| {}【】”;:" & # 39;,,?]“), ,return reg.test (strData); }统计指定特殊字符的个数:这里只统计特殊字符”——“”。"
function calcCharCount (strData), { ,var matchResult =, { lineCounts才能:0,,//& # 39;& # 39;个数 dotCounts才能:0,//,& # 39;强生# 39;个数 ,}; ,如果(! strData) { return 才能JSON.stringify (matchResult); ,} ,var lineChar =,“产生绯闻;,,dotChar =,“\ \ !”,//,要统计的字符 ,var lineRegex =, new 正则表达式(lineChar, & # 39;舌鳎# 39;),,dotRegex =, new 正则表达式(dotChar, & # 39;舌鳎# 39;);,//,使用g表示整个字符串都要匹配 ,var lineResult =, strData.match (lineRegex);=,!,matchResult.lineCounts  lineResult ?, 0,:, lineResult.length; ,var dotResult =, strData.match (dotRegex);=,!,matchResult.dotCounts  dotResult ?, 0,:, dotResult.length; ,return JSON.stringify (matchResult); }密码强度判断条件:
弱-密码中仅包含数字,字母;
中,密码中包含数字,字母和任一特殊字符;
强——口令中包含数字,字母和多个特殊字符;代码较多,直接整体粘贴复制:
var len =, GetStrLen ($ scope.newPswd);,//,获取字符串长度 ,,var matchResult =, JSON.parse (calcCharCount (scope.newPswd美元)),,//,查找,& # 39;& # 39;,& # 39;# 39;公司,特殊字符的数量 ,,//,条件1,判断 ,,scope.newPswdValidOne 美元;=,(len 祝辞=,8,,,,len & lt;=, 16); ,,//,条件2,判断 ,,scope.newPswdValidTwo 美元;=,! isIncludeSChar ($ scope.newPswd);//,,,包含,& # 39;& # 39;,& # 39;# 39;公司,特殊字符 ,,scope.newPswdHasSChar 美元;=,scope.newPswdValidTwo 美元;,,,(matchResult.lineCounts 祝辞,0,| |,matchResult.dotCounts 祝辞,0);//,,,包含字母 ,,scope.newPswdHasLiter 美元;=,isIncludeLiter ($ scope.newPswd);//,,,包含数字 ,,scope.newPswdHasNumber 美元;=,isIncludeNum ($ scope.newPswd); ,,//,条件3,判断 ,,scope.newPswdValidThree 美元;=,(scope.newPswdHasNumber 美元;,,,scope.newPswdHasLiter美元),| |,//,数字和字母 ,,($ scope.newPswdHasNumber ,,, scope.newPswdHasSChar美元),| |,//,数字和特殊字符 ,,($ scope.newPswdHasLiter ,,, scope.pswdValidChars美元),| |,//,字母和特殊字符 ,,($ scope.newPswdHasLiter ,,, scope.newPswdHasNumber 美元;,,,scope.pswdValidChars美元);,//,数字,字母和特殊字符//,,,新密码是否合法 ,,scope.newPswdValid 美元;=,scope.newPswdValidOne 美元;,,,scope.newPswdValidTwo 美元;,,,scope.newPswdValidThree美元; ,,//,密码等级判断 null null null null null null null null null null null null null null null null null null null null使用角怎么判别用户密码的强度