vb randomize 16位随机数

来源:百度知道 编辑:UC知道 时间:2024/05/10 22:55:55
Function NewpPassword(pwdlen) '生成指定长度的随机字符函数,由A-Z,a-z,2-9组成
Dim TempPwd,MaxNum,MinNum,i,RndNum
For i=1 to pwdlen
Randomize
RndNum = Int((2 - 0 + 1) * Rnd + 0)
Select Case RndNum
Case 0
MaxNum=57
MinNum=50
Case 1
MaxNum=90
MinNum=65
Case 2
MaxNum=122
MinNum=97
End Select
TempPwd=TempPwd & Chr(Int((MaxNum-MinNum+1) * Rnd + MinNum))
Next
NewpPassword=TempPwd
End Function

For i = 1 to 16
Response.Write NewpPassword(6)
Next
Private Sub text1_DblClick()
text1.Text = NewpPassword(pwdlen)
End Sub
请各位大侠帮助检查一下,问题出什么地方。
太难了,超难啊。

Private Sub text1_dblClick()
Text1.Text = NewPassword(5)
End Sub

Function NewPassword(intLen As Integer) As String
Dim tmpSTR As String
Dim i As Integer
Dim tmp As Integer
Randomize
For i = 1 To intLen
go1:
tmp = Int(Rnd * (122 - 50) + 50)
Select Case tmp
Case 91 To 96
GoTo go1 '不符合要求 重新产生
Case 58 To 64
GoTo go1 '不符合要求 重新产生
Case Else
tmpSTR = Chr(tmp) '符合要求,转换成字符
End Select
NewPassword = NewPassword & tmpSTR
Next
End Function

这样就可以了啊

Private Sub Command1_Click()
Cls
For i = 1 To 20
Print NewPass(16)
Next i
End Sub

Function NewPass(n As Integer) As String
Dim b As String
b = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
b = "abcdefghijklmnopqrstuvwxyz" & b
b = "23456789" & b
NewPass = ""

For