奥门威尼斯网址js正则表明式验证密码强度【推荐】

by admin on 2019年9月5日

js调用此函数,返回密码强度级别
 

<html>

[plain] 
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“; 
<html xmlns=”; 
<head> 
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″
/> 
<title>passwordCheck</title> 
<script type=”text/javascript”
src=”Js/jquery1.6.1.js”></script> 
<script type=”text/javascript”> 
    $(function() { 
        $(‘#pwd’).keyup(function() { 
            var val = $(this).val(); 
            isDigit(val); 
        }); 
         
        function isDigit(s) { 
            var pattern_d = /^\d+$/;            //全数字 
            var pattern_s = /^[A-Za-z]+$/       //全字符 
            var pattern_w = /^\w+$/;            //数字或者字符 
            var pattern_W = /^\W+$/             //全非数字也非字符 
            var pattern_r = /^\w+\W+[\w\W]*\w+$/   
//以字母或者数字开头结尾的字符串 
            var html = ”; 
            var x = 0; 
            var y = 0; 
             
            $(‘#user’).html(s); 
            if(pattern_W.exec(s)) { 
                html += ‘非数字也非字符<br />’; 
                x = 0; 
                y = 0; 
            } 
            if(pattern_w.exec(s)) { 
                html += ‘数字或者字符<br />’; 
                y = 1; 
            } 
            if(pattern_d.exec(s)) { 
                html += ‘全数字<br />’; 
                x = 1; 
                y = 0; 
            } 
            if(pattern_s.exec(s)) { 
                html += ‘全字符<br />’; 
                x = 2; 
                y = 0; 
            } 
            if(pattern_r.exec(s)) { 
                html += ‘以字母或者数字开头结尾的字符串<br />’; 
                x = 3; 
                y = 2; 
            } 
            if( y === 0 && x === 0) { 
                html += ‘密码格式错误<br />’; 
            } 
            if( x > 0 && y === 0) { 
                html += ‘安全级别《低》<br />’; 
            } 
            if( x === 0 && y === 1) { 
                html += ‘安全级别《中》<br />’; 
            } 
            if( y === 2) { 
                html += ‘安全级别《高》<br />’; 
            } 
            html += x + ‘<br />’ + y; 
            $(‘#password’).html(html); 
        }; 
    }); 
</script> 
</head> 
 
<body> 
<form action=”#” method=”#”> 
    用户名:<input type=”text” name=”” /><span
id=”user”></span><br /> 
    密码:<input type=”password” name=”” id=”pwd” /><span
id=”password”></span><br /> 
</form> 
</body> 
</html> 

效果图:

 

function getStrength(passwd){ 
    intScore = 0; 
    if (passwd.match(/[a-z]/)) // [验证]至少一个小写字母 
    { 
        intScore = (intScore+1) 
    } if (passwd.match(/[A-Z]/)) // [验证]至少一个大写字母 
    { 
        intScore = (intScore+5) 
    } // 单一验证 
    if (passwd.match(//d+/)) // [验证]至少一个数字 
    { 
        intScore = (intScore+5) 
    } if (passwd.match(/(/d.*/d.*/d)/)) // [验证]至少三个数字 
    { 
        intScore = (intScore+5) 
    } // 特殊字符验证 
    if (passwd.match(/[!,@#$%^&*?_~]/)) // [验证]至少一个特殊字符 
    { 
        intScore = (intScore+5) 
    } if (passwd.match(/([!,@#$%^&*?_~].*[!,@#$%^&*?_~])/)) // [验证]至少两个特殊字符 
    { 
        intScore = (intScore+5) 
    } // 复合验证 
    if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/)) // [验证]同时包含大写和小写 
    { 
        intScore = (intScore+2) 
    } if (passwd.match(//d/) && passwd.match(//D/)) // [验证] 同时包含字母和数字 
    { 
        intScore = (intScore+2) 
    } // [验证] 同时包含大写字母,小写字母,数字和特殊字符 
    if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/) && passwd.match(//d/) && passwd.match(/[!,@#$%^&*?_~]/)) 
    { 
        intScore = (intScore+2) 
    } 
    return intScore; 
} 

function getStrength(passwd){
 intScore = 0;
 if (passwd.match(/[a-z]/)) // [验证]至少一个小写字母
 {
  intScore = (intScore+1)
 } if (passwd.match(/[A-Z]/)) // [验证]至少一个大写字母
 {
  intScore = (intScore+5)
 } // 单一验证
 if (passwd.match(//d+/)) // [验证]至少一个数字
 {
  intScore = (intScore+5)
 } if (passwd.match(/(/d.*/d.*/d)/)) // [验证]至少三个数字
 {
  intScore = (intScore+5)
 } // 特殊字符验证
 if (passwd.match(/[!,@#$%^&*?_~]/)) // [验证]至少一个特殊字符
 {
  intScore = (intScore+5)
 } if (passwd.match(/([!,@#$%^&*?_~].*[!,@#$%^&*?_~])/)) // [验证]至少两个特殊字符
 {
  intScore = (intScore+5)
 } // 复合验证
 if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/)) // [验证]同时包含大写和小写
 {
  intScore = (intScore+2)
 } if (passwd.match(//d/) && passwd.match(//D/)) // [验证] 同时包含字母和数字
 {
  intScore = (intScore+2)
 } // [验证] 同时包含大写字母,小写字母,数字和特殊字符
 if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/) && passwd.match(//d/) && passwd.match(/[!,@#$%^&*?_~]/))
 {
  intScore = (intScore+2)
 }
 return intScore;

<head>

忘大家有好的思路,留言共享。

奥门威尼斯网址 1

function passwordGrade(pwd) {
var score = 0;
var regexArr = [‘[0-9]’, ‘[a-z]’, ‘[A-Z]’, ‘[\W_]’];
var repeatCount = 0;
var prevChar = ”;
//check length
var len = pwd.length;
score += len > 18 ? 18 : len;
//check type
for (var i = 0, num = regexArr.length; i < num; i++) { if (eval(‘/’

  • regexArr[i] + ‘/’).test(pwd)) score += 4; }
    //bonus point
    for (var i = 0, num = regexArr.length; i < num; i++) {
    if (pwd.match(eval(‘/’ + regexArr[i] + ‘/g’)) && pwd.match(eval(‘/’
  • regexArr[i] + ‘/g’)).length >= 2) score += 2;
    if (pwd.match(eval(‘/’ + regexArr[i] + ‘/g’)) && pwd.match(eval(‘/’
  • regexArr[i] + ‘/g’)).length >= 5) score += 2;
    }
    //deduction
    for (var i = 0, num = pwd.length; i < num; i++) {
    if (pwd.charAt(i) == prevChar) repeatCount++;
    else prevChar = pwd.charAt(i);
    }
    score -= repeatCount * 1;
    return score;
    }

}另外一种方法。用一条正则验证密码强度,密码为6位数字或字符组成,且必须含有一个数字、一个字符

<meta http-equiv=”content-type” content=”text/html”;
charset=”utf-8″/>

当密码为纯数字,或者纯字母的时候,安全等级为最低。

代码如下:

原理:
  采用打分的机制,打分分为3类(基础分、加分、减分),先求出基础分,在计算加分的部分,最后减去要扣除的分数就为最终总分。
  
  规则:
  密码可输入类型(字符,字母大写,字母小写,特殊字符)。
  基础分为,密码长度,一个长度为一分,大于18个字符都为18分;密码里面包含一种可输入类型,基础分加4分。
  加分为,一种密码可输入类型的总数量大于等于2个,加分2分,如果总数量大于等于5,加分4分。
  减分为,如果有连续重复的单个种类字符,则重复一次减1分。
  总分50分。
  0~10分:不合格(弱)
  11~20分:一般
  21~30分:中
  31~40分:强
  41~50分:安全
  *分数范围可以自由调整和搭配,其实整个打分规则都可以根据需要修改

 

<script src=”./js/jquery-1.8.0.min.js”></script>

当密码为数字与字母组合,安全等级为中。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>验证密码强度</title>
 <style type="text/css">
 *{margin: 0;padding: 0;}
 body{background:#ccc;}
 #demo{width:400px;padding:50px;background:#efefef;border: 1px solid #999;line-height:40px;margin:100px auto 0;}
 #strength_length{height:6px;width:100px;padding:2px;border: 1px solid #ccc;}
 .lv1{background:red;}
 .lv2{background:blue;width:200px;}
 .lv3{background:green;width:300px;}
 </style>
</head>
<body>
 <div id="demo">
 <label for="ipt">密码:</label>
 <input type="text" id="ipt"><br/>
 <em>密码强度:</em><em id="strength"></em>
 <div id="strength_length"></div>
 </div>
</body>
<script type="text/javascript">
 (function(window){
 function $(id){
 return document.getElementById(id);
 };
 var arr = ["","低","中","高"];
 // 获取对象
 var ipt = $("ipt"),strength = $("strength"),strLength = $("strength_length");
 // 密码输入事件
 ipt.onkeyup = function(){
 var s = 0;
 var txt = this.value;
 if( /[a-zA-Z]/.test(txt) ){
 s++;
 };
 if( /[0-9]/.test(txt) ){
 s++;
 };
 if( /[^0-9a-zA-Z]/.test(txt) ){
 s++;
 };
 if( txt.length <6 ){
 s = 0;
 };
 strength.innerHTML = arr[s];
 strLength.className = "lv" + s;
 }
 })(window)
</script>
</html>

passwordGrade(pwd) { var score = 0; var
regexArr = [‘[0-9]’, ‘[a-z]’, ‘[A-Z]’, ‘[\W_]’]; var
repeatCount = 0; var prevChar = ”; //check length var len = pwd.length;
score…

^(?=\d{0,5}[a-zA-Z])(?=[a-zA-Z]{0,5}\d)[a-zA-Z0-9]{6}$ 

^(?=\d{0,5}[a-zA-Z])(?=[a-zA-Z]{0,5}\d)[a-zA-Z0-9]{6}$1.一个 ^[a-zA-Z0-9]{6}$ 匹配整个密码串

<script type=”text/javascript”>

当密码中除数字和字母外,还有特殊符号,则安全等级为高。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

2.接着1个断言,验证密码中必须出现过字符 (?=\d{0,5}[a-zA-Z])

//CharMode函数  

其中,密码为特殊符号时,未对空格做排除。

您可能感兴趣的文章:

  • JS
    密码强度校验的正则表达式(简单且好用)
  • Javascript校验密码复杂度的正则表达式
  • 用户名、密码等15个常用的js正则表达式
  • 正则匹配密码只能是数字和字母组合字符串功能【php与js实现】
  • js正则实现的密码框简单制作,还可以替换成自己想用得符号
  • JS正则表达式验证密码格式的集中情况总结
  • JS利用正则表达式实现简单的密码强弱判断实例
  • JS正则表达式验证数字代码
  • JavaScript
    表单验证正则表达式大全[推荐]
  • JavaScript 正则表达式
    验证整数、小数、实数、有效位小数最简单
  • JS基于正则表达式实现的密码强度验证功能示例

3.类似第2步,也是一个断言,验证密码中必须出现过数字
(?=[a-zA-Z]{0,5}\d)

//测试某个字符是属于哪一类.  

当存在特殊符号时,特殊符号不可作为开头或者结尾。
 

 

function CharMode(iN){  

] !DOCTYPE html PUBLIC -//W3C//DTD XHTML
1.0 Transitional//EN
html
xmlns= head meta http-e…

function
getStrength(passwd){ intScore = 0; if (passwd.match(/[a-z]/)) //
[验证]至少一个小写字母 { intScore = (intScore+1) }…

if (iN>=48 && iN <=57) //数字  

return 1;  

if (iN>=65 && iN <=90) //大写字母  

return 2;  

if (iN>=97 && iN <=122) //小写  

return 4;  

else  

return 8; //特殊字符  

}  

 

//bitTotal函数  

//计算出当前密码当中一共有多少种模式  

function bitTotal(num){  

modes=0;  

for (i=0;i<4;i++){  

if (num & 1) modes++;  

num>>>=1;  

}  

return modes;  

}  

 

//checkStrong函数  

//返回密码的强度级别  

 

function checkStrong(sPW){  

if (sPW.length<=4)  

return 0; //密码太短  

Modes=0;  

for (i=0;i<sPW.length;i++){  

//测试每一个字符的类别并统计一共有多少种模式.  

Modes|=CharMode(sPW.charCodeAt(i));  

}  

 

return bitTotal(Modes);  

 

}  

 

//pwStrength函数  

//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色  

 

function pwStrength(pwd){  

O_color=”#eeeeee”;  

L_color=”#FF0000″;  

M_color=”#FF9900″;  

H_color=”#33CC00″;  

if (pwd==null||pwd==”){  

Lcolor=Mcolor=Hcolor=O_color;  

}  

else{  

S_level=checkStrong(pwd);  

switch(S_level) {  

case 0:  

Lcolor=Mcolor=Hcolor=O_color;  

case 1:  

Lcolor=L_color;  

Mcolor=Hcolor=O_color;  

break;  

case 2:  

Lcolor=Mcolor=M_color;  

Hcolor=O_color;  

break;  

default:  

Lcolor=Mcolor=Hcolor=H_color;  

}  

}  

 

document.getElementById(“strength_L”).style.background=Lcolor;  

document.getElementById(“strength_M”).style.background=Mcolor;  

document.getElementById(“strength_H”).style.background=Hcolor;  

return;  

}   

</script>

</head>

<body>

<div>

<form name=”form1″ action=”” >  

输入密码:<input type=”password” size=”15″
onKeyUp=”pwStrength(this.value)” onBlur=”pwStrength(this.value)”>  

<br/>密码强度:  

<table width=”217″ border=”1″ cellspacing=”0″ cellpadding=”1″
bordercolor=”#cccccc” height=”23″ style=’display:inline’>  

<tr align=”center” bgcolor=”#eeeeee”>  

 

<td width=”33%” id=”strength_L”>弱</td>  

<td width=”33%” id=”strength_M”>中</td>  

<td width=”33%” id=”strength_H”>强</td>  

</tr>  

</table>  

 

</form>

</div>

</body>

</html> 

 

head meta http-equiv=content-type
content=text/html; charset=utf-8/ script
src=./js/jquery-1.8.0.min.js/script script type=text/javascript
//CharMode函数 //测试某个字符是…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图