• 技术文章 >后端开发 >PHP问题

    php 判断密码是否简单

    angryTomangryTom2019-10-17 16:00:55原创2478

    php入门到就业线上直播课:进入学习

    php 判断密码是否简单

    原理:正则表达式

    /((^[0-9]{6,})|(^[a-z]{6,})|(^[A-Z]{6,}))$/ 弱密码
    /((^[0-9,a-z]{6,})|(^[0-9,A-Z]{6,})|(^[a-z,A-Z]{6,}))$/  中密码
    /^[\x21-\x7e,A-Za-z0-9]{6,}/   强密码

    代码如下

    /**
    * 检测密码强度
    * @param string $pw 密码
    * @return int
    */
    function _checkPwLevel($pw){
    	if(empty($pw)){
    		return 0;
    	}
    	$pattern['weak'] = '/((^[0-9]{6,})|(^[a-z]{6,})|(^[A-Z]{6,}))$/';
    	$pattern['middle'] = '/((^[0-9,a-z]{6,})|(^[0-9,A-Z]{6,})|(^[a-z,A-Z]{6,}))$/';
    	$pattern['strong'] = '/^[\x21-\x7e,A-Za-z0-9]{6,}/';
    	$key ='';
    	foreach($pattern as $k=>$v){
    		$res = preg_match($v,$pw);
    		if($res){
    			$key = $k;
    			break;
    		}
    	}
    	switch ($key){
    		case 'weak':
    		return 3;
    		case 'middle':
    		return 2;
    		case 'strong':
    		return 1;
    		default:
    		return 0;
    	}
    }

    测试:

    $r = _checkPwLevel('123465');
    echo $r;
    $r = _checkPwLevel('abc1345678');
    echo $r;
    $r = _checkPwLevel('123456...');
    echo $r;

    结果:

    321
    // 强 中 弱

    更多PHP相关知识,请访问PHP中文网

    以上就是php 判断密码是否简单的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:正则 php
    上一篇:php5和php7的语法区别 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• php正则表达式有什么用• php正则表达式怎么写• PHP可以使用正则表达式吗• php教程 如何正则匹配中文汉字
    1/1

    PHP中文网