PHP 生成随机字符 包含英文大小写数字和特殊字符

阅读 (943)
PHP 生成随机字符串(密码),可包含数字、大小写字母、特殊字符或者其它组合
/**
 * 生成随机字符串
* @param int       $length  要生成的随机字符串长度
* @param string    $type    随机码类型:0,数字+大小写字母;1,数字;2,小写字母;3,大写字母;4,特殊字符;-1,数字+大小写字母+特殊字符
* @return string
*/
function randCode($length = 12, $type = 0) {
    $arr = array(1 => "0123456789", 2 => "abcdefghijklmnopqrstuvwxyz", 3 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 => "~@#$%^&*(){}[]|");
    if ($type == 0) {
      array_pop($arr);
      $string = implode("", $arr);
    } elseif ($type == "-1") {
        $string = implode("", $arr);
    } else {
      $string = $arr[$type];
    }
    
    $count = strlen($string) - 1;
    $code = '';
    for ($i = 0; $i < $length; $i++) {
      $code .= $string[rand(0, $count)];
    }
    return $code;
}

 

更新于:2019-11-25 19:55:55
返回顶部