使用角怎么判别用户密码的强度

  介绍

使用角怎么判别用户密码的强度?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强>用户密码合法条件:

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

使用角怎么判别用户密码的强度