php生成随机汉字,php生成随机字符串函数(支持字母大小写,数字,中文)

[php]代码库/**

+----------------------------------------------------------

* 产生随机字串, 可用来自动生成密码,验证码,表单令牌等

* 默认长度6位 字母和数字混合 支持中文

+----------------------------------------------------------

* @param string $len 长度

* @param string $type 字串类型

* 0 字母 1 数字 其它 混合

* @param string $addChars 额外字符

+----------------------------------------------------------

* @return string

+----------------------------------------------------------

*/

function rand_string($len = 6, $type = '', $addChars = '') {

$str = '';

switch ($type) {

case 0 :

$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' . $addChars;

break;

case 1 :

$chars = str_repeat('0123456789', 3);

break;

case 2 :

$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' . $addChars;

break;

case 3 :

$chars = 'abcdefghijklmnopqrstuvwxyz' . $addChars;

break;

default :

// 默认去掉了容易混淆的字符oOLl和数字01,要添加请使用addChars参数

$chars = 'ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789' . $addChars;

break;

}

if ($len > 10) { //位数过长重复字符串一定次数

$chars = $type == 1 ? str_repeat($chars, $len) : str_repeat($chars, 5);

}

if ($type != 4) {

$chars = str_shuffle($chars);

$str = substr($chars, 0, $len);

} else {

// 中文随机字

for ($i = 0; $i < $len; $i++) {

$str .= msubstr($chars, floor(mt_rand(0, mb_strlen($chars, 'utf-8') - 1)), 1);

}

}

return $str;

}

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值