Arrays vbscript函数中数组的扩展
我发现了使用大小写字符的方法。 我想将它扩展到包括数字——我尝试添加额外的几行(max3和min3) ,但我不确定如何更改数组以允许使用新变量Arrays vbscript函数中数组的扩展,arrays,vbscript,Arrays,Vbscript,我发现了使用大小写字符的方法。 我想将它扩展到包括数字——我尝试添加额外的几行(max3和min3) ,但我不确定如何更改数组以允许使用新变量 Function GenerateRandomString(StrLen,upper,lower,numeric) Dim charCase ' ASCII: Lowercase Alpha Characters max=122 min=97 ' ASCII: Capital Alpha Characters
Function GenerateRandomString(StrLen,upper,lower,numeric)
Dim charCase
' ASCII: Lowercase Alpha Characters
max=122
min=97
' ASCII: Capital Alpha Characters
max2=90
min2=65
// THIS BELOW IS WHAT I ADDED:
' ASCII: numeric Characters
max3=57
min3=49
// END ADD
For i=0 To (StrLen-1)
Randomize
charCase = Array((max-min+1)*Rnd+min,(max2-min2+1)*Rnd+min2) <!-- Not sure how to change this?
myStr = myStr & Chr(int(charCase(int(Rnd*2))))
Next
GenerateRandomString = myStr
End Function
Function GenerateRandomString(StrLen、upper、lower、numeric)
暗焦
'ASCII:小写字母字符
最大值=122
最小值=97
'ASCII:大写字母字符
max2=90
min2=65
//以下是我补充的内容:
'ASCII:数字字符
max3=57
min3=49
//结束添加
对于i=0到(StrLen-1)
随机化
charCase=Array((max-min+1)*Rnd+min,(max2-min2+1)*Rnd+min2)代码创建一个包含2个值的数组,然后选择其中一个值。最简单的解决方案是向数组中添加第三个值:
Randomize
For i=0 To (StrLen-1)
charCase = Array((max - min + 1) * Rnd + min, _
(max2 - min2 + 1) * Rnd + min2, _
(max3 - min3 + 1) * Rnd + min3)
myStr = myStr & Chr(int(charCase(int(Rnd * 3))))
Next
另一个选项是创建一个包含所需值的字符串,并使用该字符串:
letters ="0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz"
For i=0 To (StrLen-1)
' Pick a random letter from the string and add to the result
myStr = myStr & Mid(letters, int(Rnd * Len(letters)) + 1, 1)
Next
使用第二个选项,我有时会收到以下错误:无效的过程调用或参数:“Mid”
-指的是myStr=myStr&Mid(字母,int(Rnd*Len(字母)),1)
。知道那可能是什么吗?对不起,int(Rnd*Len(字母))
将生成一个数字n
其中0