PHP密码强度验证

根据密码的长度以及内容复杂性返回 0-4级强度,然后按需求制定所用密码强度验证。

例:

$x = check_word_strength($str, 8);

当$str<8位时 $x = 0;当$str存在小字母、大字母、数字、特殊字符时 $x = 以上四种的数量;

  // 验证密码强度
  function check_word_strength($str, $len = 6)
  {
    if(mb_strlen($str) < $len){
      return 0;
    }else{
      //是否存在小字母
      $reg = '/[a-z]/';
      $res = preg_match($reg, $str);
      //是否存在大字母
      $reg = '/[A-Z]/';
      $res+= preg_match($reg, $str);
      //是否存在数字
      $reg = '/[0-9]/';
      $res+= preg_match($reg, $str);
      //是否存在特殊字符  
      $reg = '/[~!@#$%^&*()_+<>?:"{},.\/\'";-]/';
      $res+= preg_match($reg, $str);
      return $res;
    }
  }

发表回复