hzxymkb 发表于 2009-12-23 14:21:16

怎么随机生成字母加数字?

本帖最后由 hzxymkb 于 2009-12-23 15:23 编辑

比如:
6m2fw69n   
o66no2      
0m0n5q21   
ffxohzcd      
33eb3t8

然后发别分他们写到文本文件里!生成6-10位

sanmoking 发表于 2009-12-23 15:01:23

本帖最后由 sanmoking 于 2009-12-23 15:24 编辑

很简单的啊,等我一下.$txt = ""
for $t = 1 to 10 ;生成10个字符串
                for $i = 1 to 16 ;字符串长度16位
                        $test =Random (1,3,1)
                        if $test = 1 Then $x = Chr(Random(48,57,1));生成数字
                        if $test = 2 Then $x = Chr(Random(97,122,1));生成小写字母      
                        if $test = 3 Then $x = Chr(Random(65,90,1));生成大写字母
                        $txt = $txt&$x      
                Next
      $txt = $txt&@CRLF      
Next                              
MsgBox(0,"随机字符串",$txt)写入文本文件的部分我就不管了/////

更新一下:$txt = ""
for $t = 1 to 10 ;生成10个字符串
for $i = 1 to Random (6,10,1) ;字符串长度随机6-10位
$test =Random (1,3,1)
if $test = 1 Then $x = Chr(Random(48,57,1));生成数字
if $test = 2 Then $x = Chr(Random(97,122,1));生成小写字母
if $test = 3 Then $x = Chr(Random(65,90,1));生成大写字母
$txt = $txt&$x
Next
$txt = $txt&@CRLF
Next
MsgBox(0,"随机字符串",$txt)再更新一下,如果算上常规符号的话,更简单,如下:
$txt = ""
for $t = 1 to 10 ;生成10个字符串
for $i = 1 to Random (6,10,1) ;字符串长度随机6-10位
   $txt = $txt&Chr(Random(33,126,1))
Next
$txt = $txt&@CRLF
Next   
MsgBox(0,"随机字符串",$txt)




很有兴致,再来一个,生成[小写字母+数字+大写字母]格式的字符串,非乱序,如下
$txt = ""
for $t = 1 to 10 ;生成10个字符串
$usern1 = ""
for $u = 1 to 6 ;生成6位小写字母
$usern1 = $usern1&Chr (Random (97,122, 1 ))
Next
$usern2 = ""
for $u = 1 to 4 ;生成4位数字
$usern2 = $usern2&Random (0,9,1)
Next
$usern3 = ""
for $u = 1 to Random (1,3,1);生成1-3位大写字母
$usern3 = $usern3&Chr(Random(65,90,1))
Next   
$txt = $txt&$usern1&$usern2&$usern3&@CRLF
Next   
MsgBox(0,"随机字符串",$txt)

顽固不化 发表于 2009-12-23 15:05:17

$STR = "0123456789abcdefghijklmnopqrstuvwxyz"
$max = Random(6, 10, 1)
$key = ""
For $i = 1 To $max
        $key = $key & StringMid($STR, Random(1, 36, 1), 1)
Next
MsgBox(0, 0, $key)

大绯狼 发表于 2009-12-23 15:05:58

$str = ""
For $i = 1 To Random(6, 10,1)
        If Random(0, 1,1) = 1 Then
                $str &= Random(0, 9,1)
        Else
                $str &= Chr(Random(Asc('a'), Asc('z'),1))
        EndIf
Next
MsgBox(0, 0, $str)

afan 发表于 2009-12-23 15:06:39

Local $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz', $b
Local $a = StringSplit($str, '')
While 1
        For $i = 1 To Random(6, 10)
                $b &= $a
        Next
        MsgBox(0, 0, $b, 1)
        $b = ''
WEnd

顽固不化 发表于 2009-12-23 15:08:03

哈哈,答案好多,好多热心人哦

水木子 发表于 2009-12-23 15:14:03

是啊!高手是越来越多啊!照这样下去论坛人气一定会大大提升。

hzxymkb 发表于 2009-12-23 15:24:02

谢谢楼上的朋友!真的太感谢了!

顽固不化 发表于 2009-12-23 15:24:21

大灰狼的简单,但违反每个数字字母机会均等的原则,:face (33):

大绯狼 发表于 2009-12-23 15:42:06

回复 9# 顽固不化


受教了。。。只想着如何简单的实现这个目标了。。。

hzxymkb 发表于 2009-12-23 15:43:03

大灰狼的简单,但违反每个数字字母机会均等的原则,
顽固不化 发表于 2009-12-23 15:24 http://www.autoitx.com/images/common/back.gif

顽固不化 真是高手!这都知道!佩服!

298311657 发表于 2009-12-23 23:24:26

Local $out,$a=,$s=48
For $i=1 To 62
        $a[$i] = $s
        $s +=1
        If $s=58 Then
                $s=65
        ElseIf $s=91 Then
                $s=97
        EndIf
Next
For $i=1 To Random(6,10,1)
        $out &= Chr($a)
Next
MsgBox(0,'',$out)生成大小写字母加数字

wyl0205 发表于 2009-12-24 13:33:57

高手越来越多了。。。
页: [1]
查看完整版本: 怎么随机生成字母加数字?