你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
liuliangsong - 80后IT民工
赞同来自:
<?php /* * 生成随机字符串(可选含数字、字母、特殊字符) * 爱E族: aiezu.com * $len 生成字符串的长度 * $mask 生成字符范围的掩码之和:1、小写字母;2、大写字母;4、数字;8、其他ASCII可见字符 */ function randChars( $len = 8, $mask = 7 ) { $result = $seeds = ''; $maskChars = array( '1' => "abcdefghijklmnopqrstuvwxyz" ,'2' => "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ,'4' => "0123456789" ,'8' => "!\"#$%&'()*+,-./:;<=>?@[\]^-`{|}" ); foreach($maskChars as $key=>$val ) { ($mask & $key) === $key && $seeds .= $val; } while( $seeds && strlen($result) < $len ) { $result .= substr($seeds, rand(0, strlen($seeds)-1), 1); } return $result; }
echo sprintf("% 16s: 16位小写字母mask:1\n", randChars(16, 1)); echo sprintf("% 16s: 8位大写字母mask:2\n", randChars(8, 2)); echo sprintf("% 16s: 12位大、小写字母mask:1+2=3\n", randChars(12, 3)); echo sprintf("% 16s: 16位数字mask:4\n", randChars(16, 4)); echo sprintf("% 16s: 16位大、小写字母和数字mask:1+2+4\n", randChars(16, 7)); echo sprintf("% 16s: 12位特殊字符mask:8\n", randChars(12, 8)); echo sprintf("% 16s: 16位大小写字母、数字、特殊字符mask:1+2+4+8=15\n", randChars(16, 15));
ebbgzzxzxpaiejvt: 16位小写字母mask:1 EWSCCUPX: 8位大写字母mask:2 HufkJUVTXYfW: 12位大、小写字母mask:1+2=3 9098692730559259: 16位数字mask:4 cl2RK83q2ZiZXpVU: 16位大、小写字母和数字mask:1+2+4 )@>`?^?!`&:]: 12位特殊字符mask:8 Qj,UB9s>7jnW]AG%: 16位大小写字母、数字、特殊字符mask:1+2+4+8=15
要回复问题请先登录或注册
1 个回复
liuliangsong - 80后IT民工
赞同来自:
生成范围的4种基本掩码和对应的类型为:1、小写字母;2、大写字母;4、数字;8、其他ASCII可见字符。要生成多种类型,直接将上面对应的掩码相加就行,如:大小写字母,$mask为3;大小写字母和数字,$mask为7。 下面是用法: 输出结果: