本文实例讲述了PHP判断密码强度的方法。分享给大家供大家参考,具体如下:
一、php页面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
$score = 0;
if (! empty ( $_GET [ 'value' ])){ //接收的值
$str = $_GET [ 'value' ];
} else {
$str = '' ;
}
if (preg_match( "/[0-9]+/" , $str ))
{
$score ++;
}
if (preg_match( "/[0-9]{3,}/" , $str ))
{
$score ++;
}
if (preg_match( "/[a-z]+/" , $str ))
{
$score ++;
}
if (preg_match( "/[a-z]{3,}/" , $str ))
{
$score ++;
}
if (preg_match( "/[A-Z]+/" , $str ))
{
$score ++;
}
if (preg_match( "/[A-Z]{3,}/" , $str ))
{
$score ++;
}
if (preg_match( "/[_|\-|+|=|*|!|@|#|$|%|^|&|(|)]+/" , $str ))
{
$score += 2;
}
if (preg_match( "/[_|\-|+|=|*|!|@|#|$|%|^|&|(|)]{3,}/" , $str ))
{
$score ++ ;
}
if ( strlen ( $str ) >= 10)
{
$score ++;
}
echo $score ;
exit ;
|
二、html页面
1
2
3
4
5
6
7
8
9
10
11
12
13
|
< table cellspacing = "0" cellpadding = "0" >
< tr >
< td >输入密码:</ td >
< td colspan = "4" >< input type = "password" value = "" name = "newpwd" onblur = "getPassword();" />
</ tr >
< tr >
< td >密码强度:</ td >
< td id = "idSM1" align = "middle" width = "20%" >< span style = "height:0px; line-height:0px;" > </ span >< span id = "idSMT1" style = "DISPLAY: none" >弱</ span ></ td >
< td id = "idSM2" style = "BORDER-LEFT: #fff 1px solid" align = "middle" width = "20%" >< span style = "height:0px; line-height:0px;" > </ span >< span id = "idSMT0" style = "DISPLAY:inline; FONT-WEIGHT: normal; COLOR: #666" >无</ span >< span id = "idSMT2" style = "DISPLAY: none" >中等</ span ></ td >
< td id = "idSM3" style = "BORDER-LEFT: #fff 1px solid" align = "middle" width = "20%" >< span style = "height:0px; line-height:0px;" > </ span >< span id = "idSMT3" style = "DISPLAY: none" >强</ span ></ td >
< td id = "idSM4" style = "BORDER-LEFT: #fff 1px solid" align = "middle" width = "20%" > < span style = "height:0px; line-height:0px;" > </ span >< span id = "idSMT4" style = "DISPLAY: none" >极好</ span ></ td >
</ tr >
</ table >
|
三、js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<script>
function getPassword(){
var value = $( "input[name='newpwd']" ).attr( 'value' );
$.get( 'index.php?r=account/testpwd' ,{value:value}, function (data){
if (data>=1 && data<=3){
$( '#idSM1' ).attr( 'class' , 'pwdChkCon1' ); //弱
$( '#idSM2' ).attr( 'class' , 'pwdChkCon0' );
$( '#idSM3' ).attr( 'class' , 'pwdChkCon0' );
$( '#idSM4' ).attr( 'class' , 'pwdChkCon0' );
$( '#idSMT1' ).show();
$( '#idSMT0' ).hide();
$( '#idSMT2' ).hide();
$( '#idSMT3' ).hide();
$( '#idSMT4' ).hide();
} else if (data>=4 && data<=6){ //中等
$( '#idSM1' ).attr( 'class' , 'pwdChkCon2' );
$( '#idSM2' ).attr( 'class' , 'pwdChkCon2' );
$( '#idSM3' ).attr( 'class' , 'pwdChkCon0' );
$( '#idSM4' ).attr( 'class' , 'pwdChkCon0' );
$( '#idSMT0' ).hide();
$( '#idSMT1' ).hide();
$( '#idSMT2' ).show();
$( '#idSMT3' ).hide();
$( '#idSMT4' ).hide();
} else if (data>=7 && data<=8){ //强
$( '#idSM1' ).attr( 'class' , 'pwdChkCon3' );
$( '#idSM2' ).attr( 'class' , 'pwdChkCon3' );
$( '#idSM3' ).attr( 'class' , 'pwdChkCon3' );
$( '#idSM4' ).attr( 'class' , 'pwdChkCon0' );
$( '#idSMT0' ).hide();
$( '#idSMT1' ).hide();
$( '#idSMT2' ).hide();
$( '#idSMT3' ).show();
$( '#idSMT4' ).hide();
} else if (data>=9 && data<=10){ //极好
$( '#idSM1' ).attr( 'class' , 'pwdChkCon4' );
$( '#idSM2' ).attr( 'class' , 'pwdChkCon4' );
$( '#idSM3' ).attr( 'class' , 'pwdChkCon4' );
$( '#idSM4' ).attr( 'class' , 'pwdChkCon4' );
$( '#idSMT0' ).hide();
$( '#idSMT1' ).hide();
$( '#idSMT2' ).hide();
$( '#idSMT3' ).hide();
$( '#idSMT4' ).show();
}
});
}
|
四、css
1
2
3
4
5
6
7
|
<style>
.pwdChkCon 0 {BORDER-RIGHT: #bebebe 1px solid ;BORDER-BOTTOM: #bebebe 1px solid ;BACKGROUND-COLOR: #ebebeb ;TEXT-ALIGN: center ;}
.pwdChkCon 1 {BORDER-RIGHT: #bb2b2b 1px solid ;BORDER-BOTTOM: #bb2b2b 1px solid ;BACKGROUND-COLOR: #ff4545 ;TEXT-ALIGN: center ;}
.pwdChkCon 2 {BORDER-RIGHT: #e9ae10 1px solid ;BORDER-BOTTOM: #e9ae10 1px solid ;BACKGROUND-COLOR: #ffd35e ;TEXT-ALIGN: center ;}
.pwdChkCon 3 {BORDER-RIGHT: #267a12 1px solid ;BORDER-BOTTOM: #267a12 1px solid ;BACKGROUND-COLOR: #3abb1c ;TEXT-ALIGN: center ;}
.pwdChkCon 4 {BORDER-RIGHT: #267a12 1px solid ;BORDER-BOTTOM: #267a12 1px solid ;BACKGROUND-COLOR: #3abb1c ;TEXT-ALIGN: center ;}
</style>
|
PS:这里再为大家提供几款相关在线工具供大家参考使用:
在线随机数字/字符串生成工具:
https://tool.zzvips.com/t/randkey/
希望本文所述对大家PHP程序设计有所帮助。