PHP生成随机字符串实例代码(字母+数字)

当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度

function randomkeys($length)
{
 $pattern = '1234567890abcdefghijklmnopqrstuvwxyz
    ABCDEFGHIJKLOMNOPQRSTUVWXYZ;
 for($i=0;$i<$length;$i++)
 {
  $key .= $pattern{mt_rand(0,35)}; //生成php随机数
 }
 return $key;
}
echo randomkeys(8);

另一种用PHP生成随机数的方法:利用chr()函数,省去创建字符池的步骤。

function randomkeys($length){
 $output='';
 for ($a = 0; $a<$length; $a++) {
  $output .= chr(mt_rand(33, 126)); //生成php随机数
 }
 return $output;
}
echo randomkeys(8);

在第二个php随机函数里,先用mt_rand()生成一个介于33到126之间的php随机数,然后用chr()函数转化成字符。第二个函数和第一个函数功能相同,而且更简洁。如果不需要特殊字符的话还是直接写在字符池中比较好。

ASCII码表

信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。

八进制 十六进制 十进制 字符 八进制 十六进制 十进制 字符
00 00 0 nul 100 40 64 @
01 01 1 soh 101 41 65 A
02 02 2 stx 102 42 66 B
03 03 3 etx 103 43 67 C
04 04 4 eot 104 44 68 D
05 05 5 enq 105 45 69 E
06 06 6 ack 106 46 70 F
07 07 7 bel 107 47 71 G
10 08 8 bs 110 48 72 H
11 09 9 ht 111 49 73 I
12 0a 10 nl 112 4a 74 J
13 0b 11 vt 113 4b 75 K
14 0c 12 ff 114 4c 76 L
15 0d 13 er 115 4d 77 M
16 0e 14 so 116 4e 78 N
17 0f 15 si 117 4f 79 O
20 10 16 dle 120 50 80 P
21 11 17 dc1 121 51 81 Q
22 12 18 dc2 122 52 82 R
23 13 19 dc3 123 53 83 S
24 14 20 dc4 124 54 84 T
25 15 21 nak 125 55 85 U
26 16 22 syn 126 56 86 V
27 17 23 etb 127 57 87 W
30 18 24 can 130 58 88 X
31 19 25 em 131 59 89 Y
32 1a 26 sub 132 5a 90 Z
33 1b 27 esc 133 5b 91 [
34 1c 28 fs 134 5c 92 \
35 1d 29 gs 135 5d 93 ]
36 1e 30 re 136 5e 94 ^
37 1f 31 us 137 5f 95 _
40 20 32 sp 140 60 96 '
41 21 33 ! 141 61 97 a
42 22 34 " 142 62 98 b
43 23 35 # 143 63 99 c
44 24 36 $ 144 64 100 d
45 25 37 % 145 65 101 e
46 26 38 & 146 66 102 f
47 27 39 ` 147 67 103 g
50 28 40 ( 150 68 104 h
51 29 41 ) 151 69 105 i
52 2a 42 * 152 6a 106 j
53 2b 43 + 153 6b 107 k
54 2c 44 , 154 6c 108 l
55 2d 45 - 155 6d 109 m
56 2e 46 . 156 6e 110 n
57 2f 47 / 157 6f 111 o
60 30 48 0 160 70 112 p
61 31 49 1 161 71 113 q
62 32 50 2 162 72 114 r
63 33 51 3 163 73 115 s
64 34 52 4 164 74 116 t
65 35 53 5 165 75 117 u
66 36 54 6 166 76 118 v
67 37 55 7 167 77 119 w
70 38 56 8 170 78 120 x
71 39 57 9 171 79 121 y
72 3a 58 : 172 7a 122 z
73 3b 59 ; 173 7b 123 {
74 3c 60 < 174 7c 124 |
75 3d 61 = 175 7d 125 }
76 3e 62 > 176 7e 126 ~
77 3f 63 ? 177 7f 127 del

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • PHP生成指定随机字符串的简单实现方法

    本文实例讲述了PHP生成指定随机字符串的简单实现方法.分享给大家供大家参考.具体分析如下: 这是一个简单的函数,没有对生成的内容作强制设定.所以在生成的字符串长度较少的时候,会出现没有指定类型字符的情况.当然,修改起来也很简单,这里就不做添加了. /** * @param string $type * @param $length * @return string */ function randomString($type="number,upper,lower",$length){

  • 生成随机字符串和验证码的类的PHP实例

    网上有很多的php随机数与验证码的代码与文章,真正适用的没有几个. 索性自己搞一个吧. 开始本节的php教程 吧,以下代码的实现,主要做到可以很好区分一个get_code(),另一个create_check_image(),输出图像直接调用后面的,session()取验证码时直接get_code()就ok,顺带提下使用session时必须将session_star()放在最前面. 代码如下: 复制代码 代码如下: <?phpclass RandCheckCode{        /*函数名称:g

  • php生成随机字符串可指定纯数字、纯字母或者混合的

    php 生成随机字符串 可以指定是纯数字 还是纯字母 或者混合的. 可以指定长度的. 复制代码 代码如下: function rand_zifu($what,$number){ $string=''; for($i = 1; $i <= $number; $i++){ //混合 $panduan=1; if($what == 3){ if(rand(1,2)==1){ $what=1; }else{ $what=2; } $panduan=2; } //数字 if($what==1){ $str

  • PHP 一个随机字符串生成代码

    复制代码 代码如下: /************* *@l - length of random string */ function generate_rand($l){ $c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; srand((double)microtime()*1000000); for($i=0; $i<$l; $i++) { $rand.= $c[rand()%strlen

  • PHP随机字符串生成代码(包括大小写字母)

    第一种:利用字符串函数操作 复制代码 代码如下: <?php function createRandomStr($length){ $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';//62个字符 $strlen = 62; while($length > $strlen){ $str .= $str; $strlen += 62; } $str = str_shuffle($str); return

  • php使用str_shuffle()函数生成随机字符串的方法分析

    本文实例讲述了php使用str_shuffle()函数生成随机字符串的方法.分享给大家供大家参考,具体如下: str_shuffle():随机打乱字符串的顺序. 可以通过str_shuffle()函数与substr()函数的组合,生成每次都不一样的字符串. 以下是str_shuffle()函数的两个示例: 示例一:随机生成长度为10位数字的字符串. $str="QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm"

  • php生成随机数或者字符串的代码

    $len表示长度,代码如下: 复制代码 代码如下: /** * 产生随机字符串 * * 产生一个指定长度的随机字符串,并返回给用户 * * @access public * @param int $len 产生字符串的位数 * @return string */ function randstr($len=6) { $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789-@#~'; // characters

  • php生出随机字符串

    本文实例为大家分享了php生出随机字符串的具体代码,供大家参考,具体内容如下 function generateRandomString($length = 10) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[r

  • PHP生成随机字符串(3种方法)

    如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码.随机密码也就是一串固定长度的字符串,文章整理了几种生成随机字符串的方法. 方法一 1.在33 – 126中生成一个随机整数,如35. 2.将35转换成对应的ASCII码字符,如35对应#. 3.重复以上1.2步骤n次,连接成n位的密码. 该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数用于生成随机整数,其中 $min – $max 为 ASCII 码的范围,这里取 33 -126 ,可以根据

  • PHP产生随机字符串函数

    <?php /**   * 产生随机字符串   *   * 产生一个指定长度的随机字符串,并返回给用户   *   * @access public   * @param int $len 产生字符串的位数   * @return string   */   function randStr($len=6) {   $chars='ABDEFGHJKLMNPQRSTVWXYabdefghijkmnpqrstvwxy23456789#%*'; // characters to build the 

随机推荐