Maison >développement back-end >Problème PHP >php détermine si le mot de passe est simple

php détermine si le mot de passe est simple

angryTom
angryTomoriginal
2019-10-17 16:00:554224parcourir

php détermine si le mot de passe est simple

php détermine si le mot de passe est simple

Principe : Expression régulière

/((^[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,}/   强密码

Le code est le suivant

/**
* 检测密码强度
* @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;
	}
}

Test :

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

Résultat :

321
// 强 中 弱

Plus Pour des connaissances liées à PHP, veuillez visiter le Site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn