PHP生成随机字符串类封装

本文介绍了一个用PHP编写的类,用于生成指定长度的随机字符串。该类支持生成包含数字、字母及特殊字符的字符串,提供了灵活性高的字符串生成选项。
<?php
namespace leyangjun\Lib;

class RandString
{
//    private static $lowerLetters = 'abcdefghijklmnopqrstuvwxyz'; //小写字母
//    private static $upperLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; //大写字母
//    private static $numeric = '0123456789'; //数字
    private static $string = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; //数字+大小写字母
    private static $letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; //大小写字母
    private static $chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~!@#$%^&*()'; //数字+大小写字母+特殊字符

    private static function generate($minLength, $maxLength, $seedString)
    {
        if ($minLength <= 0) {
            return '';
        }
        if ($minLength > $maxLength) {
            $len = $minLength;
        } else {
            $len = mt_rand($minLength, $maxLength);
        }
        $strCnt = strlen($seedString);
        $strMaxIdx = $strCnt - 1;
        $result = '';
        for ($i = 0; $i < $len; $i++) {
            $idx = mt_rand(0, $strMaxIdx);
            $result .= $seedString[$idx];
        }
        return $result;
    }

    public static function string($minLength, $maxLength = 0)
    {
        return self::generate($minLength, $maxLength, self::$string);
    }

    public static function letters($minLength, $maxLength = 0)
    {
        return self::generate($minLength, $maxLength, self::$letters);
    }

    public static function chars($minLength, $maxLength = 0)
    {
        return self::generate($minLength, $maxLength, self::$chars);
    }
}
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值