可以指定生成的字符串长度,代码如下:
function rand_str($length, $max=FALSE) { if (is_int($max) && $max > $length) { $length = mt_rand($length, $max); } $output = ''; for ($i=0; $i<$length; $i++) { $which = mt_rand(0,2); if ($which === 0) { $output .= mt_rand(0,9); } elseif ($which === 1) { $output .= chr(mt_rand(65,90)); } else { $output .= chr(mt_rand(97,122)); } } return $output; }
调用实例:$randstr = rand_str(16);
生成随机字符串的函数,代码如下:
<?php /** * 产生随机字符串 * * 产生一个指定长度的随机字符串,并返回给用户 * * @access public * @param int $len 产生字符串的位数 * @return string */ function randStr($len=6) { $chars='ABDEFGHJKLMNPQRSTVWXYabdefghijkmnpqrstvwxy23456789#%*'; // characters to build the password from mt_srand((double)microtime()*1000000*getmypid()); // seed the random number generater (must be done) $password=''; while(strlen($password)<$len) $password.=substr($chars,(mt_rand()%strlen($chars)),1); return $password; } ?>
创建字符池.
function randomkeys($length) { $pattern = '1234567890abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l t;>?;#:@~[]{}-_=+)(*&^%$?!'; //字符池 for($i=0; $i<$length; $i++) { $key .= $pattern{mt_rand(0,35)}; //生成php随机数 } return $key; } echo randomkeys(8);
无需创建字符池
function randomkeys($length) { $output=''; for ($a = 0; $a < $length; $a++) { $output .= chr(mt_rand(35, 126)); //生成php随机数 } return $output; } echo randomkeys(8);
随机用户名和随机密码例子:
//随机生成用户名(长度6-13) function create_password($pw_length = 4){ $randpwd = ''; for ($i = 0; $i < $pw_length; $i++){ $randpwd .= chr(mt_rand(33, 126)); } return $randpwd; } function generate_username( $length = 6 ) { // 密码字符集,可任意添加你需要的字符 $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|'; $password = ''; for ( $i = 0; $i < $length; $i++ ) { // 这里提供两种字符获取方式 // 第一种是使用substr 截取$chars中的任意一位字符; // 第二种是取字符数组$chars 的任意元素 // $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); $password .= $chars[ mt_rand(0, strlen($chars) - 1) ]; } return $password; } //调用 $userId = 'user'.generate_username(6); $pwd = create_password(9);
以上就是php自定义函数生成随机密码实例详解的详细内容,更多请关注二当家的素材网其它相关文章!
友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群