php随机生成随机字符a-z

话不多,直接上代码

大写A-Z

    $letter = chr(rand(65,90));

小写a-z

    $letter = chr(rand(97,122));

随机生成指定类型的字符串

 /**
         * 生成随机字符串,数字,大小写字母随机组合
         * @param int $length 长度
         * @param int $type  类型,1 纯数字,2 纯小写字母,3 纯大写字母,4 数字和小写字母,5 数字和大写字母,6 大小写字母,7 数字和大小写字母
         * @return bool|string
         *
         */
        function random($length = 6, $type = 1)
        {
            // 取字符集数组
            $number = range(0, 9);
            $lowerLetter = range('a', 'z');
            $upperLetter = range('A', 'Z');
            // 根据type合并字符集
            if ($type == 1) {
                $charset = $number;
            } elseif ($type == 2) {
                $charset = $lowerLetter;
            } elseif ($type == 3) {
                $charset = $upperLetter;
            } elseif ($type == 4) {
                $charset = array_merge($number, $lowerLetter);
            } elseif ($type == 5) {
                $charset = array_merge($number, $upperLetter);
            } elseif ($type == 6) {
                $charset = array_merge($lowerLetter, $upperLetter);
            } elseif ($type == 7) {
                $charset = array_merge($number, $lowerLetter, $upperLetter);
            } else {
                $charset = $number;
            }
            $str = '';
            // 生成字符串
            for ($i = 0; $i < $length; $i++) {
                $str .= $charset[mt_rand(0, count($charset) - 1)];
                // 验证规则
                if ($type == 4 && strlen($str) >= 2) {
                    if (!preg_match('/\d+/', $str) || !preg_match('/[a-z]+/', $str)) {
                        $str = substr($str, 0, -1);
                        $i = $i - 1;
                    }
                }
                if ($type == 5 && strlen($str) >= 2) {
                    if (!preg_match('/\d+/', $str) || !preg_match('/[A-Z]+/', $str)) {
                        $str = substr($str, 0, -1);
                        $i = $i - 1;
                    }
                }
                if ($type == 6 && strlen($str) >= 2) {
                    if (!preg_match('/[a-z]+/', $str) || !preg_match('/[A-Z]+/', $str)) {
                        $str = substr($str, 0, -1);
                        $i = $i - 1;
                    }
                }
                if ($type == 7 && strlen($str) >= 3) {
                    if (!preg_match('/\d+/', $str) || !preg_match('/[a-z]+/', $str) || !preg_match('/[A-Z]+/', $str)) {
                        $str = substr($str, 0, -2);
                        $i = $i - 2;
                    }
                }
            }
            return $str;
        }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值