小编Kap*_*tai的帖子

随机字符串生成器

我必须生成一个固定长度为10个字符的随机字符串.但诀窍是它必须包含至少一个小写字母,一个大写字母,一个数字和一个这些符号:`〜!@#$%^&*()_- + = {} [] |:;" "<>,/?

我之前使用过这个简单的函数:

function generateRandomString($length = 10)
{
    $characters='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*()_-+={}[]|:;"\'<>,.?/';
    $result = '';
    for ($i = 0; $i < $length; $i++)
        $result .= $characters[rand(0, strlen($characters) - 1)];
    return $result;
}
Run Code Online (Sandbox Code Playgroud)

但是此功能不包括所需的每种字符类型中的至少一种.即使我走另一条路线:

function generateRandomString($length = 10)
{
    $dig = '0123456789';
    $low = 'abcdefghijklmnopqrstuvwxyz';
    $upp = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $sym = '`~!@#$%^&*()_-+={}[]|:;"\'<>,.?/';
    $result = '';

    for ($i = 0; $i < $length; $i++)
    {
       $foo = rand(1,4);
       switch ($foo)
       {
           case 1:
               $result .= $dig[rand(0, strlen($dig)-1)];
               break;
           case 2:
               $result …
Run Code Online (Sandbox Code Playgroud)

php logic

1
推荐指数
1
解决办法
313
查看次数

标签 统计

logic ×1

php ×1