设为首页 收藏本站
查看: 1001|回复: 0

[经验分享] php判断密码强度实现和JS密码强度验证

[复制链接]

尚未签到

发表于 2017-4-12 09:22:44 | 显示全部楼层 |阅读模式
功能:判断密码强度

结果形式:

打分(满分为10)
  代码:

           $score = 0;

           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 "<br>";

           echo $score;

 

JS实现密码强度验证:

<script type="text/javascript">
var $ = function(v){return document.getElementById(v);}
function isSecurity(v){
if (v.length < 3) { iss.reset();return;}
var lv = -1;
if (v.match(/[a-z]/ig)){lv++;}
if (v.match(/[0-9]/ig)){lv++;}
if (v.match(/(.[^a-z0-9])/ig)){lv++;}
if (v.length < 6 && lv > 0){lv--;}
iss.reset();
switch(lv) {
case 0:
iss.level0();
break;
case 1:
iss.level1();
break;
case 2:
iss.level2();
break;
default:
iss.reset();
}
}
var iss = {
color:["CC0000","FFCC33","66CC00","CCCCCC"],
text:["弱","中","强"],
width:["50","100","150","10"],
reset:function(){
$("B").style.backgroundColor = iss.color[3];
$("B").style.width = iss.width[3];
$("A").innerHTML = "验证试中";
},
level0:function(){
$("B").style.backgroundColor = iss.color[0];
$("B").style.width = iss.width[0];
$("A").innerHTML = "较弱";
},
level1:function(){
$("B").style.backgroundColor = iss.color[1];
$("B").style.width = iss.width[1];
$("A").innerHTML = "中";
},
level2:function(){
$("B").style.backgroundColor = iss.color[2];
$("B").style.width = iss.width[2];
$("A").innerHTML = "高强";
}
}
</script>
<input type="password" name="password" size="25" maxlength="20" onkeyup="isSecurity(this.value);">
<font class="red" id="A">密码强度</font>
<table height="8" border="1" align="left" cellpadding="0" cellspacing="0" bordercolor="#EEEEEE" style="border-collapse:collapse;">
<tr>
<td bgcolor="#EEEEEE" width="1" align="center" valign="middle" id="B"></td>
</tr>
</table>
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-363707-1-1.html 上篇帖子: PHP支持 子类重写父类的 私有方法? 下篇帖子: (测试可用)PHP 利用 CURL 发送 HTTP 请求
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表