首先介绍一下本实例用到的核心函数: Rnd
Rnd函数的作用就是返回一个随机数,这里有一个注意点:
因每一次连续调用 Rnd 函数时都用序列中的前一个数作为下一个数的种子,所以对于任何最初给定的种子都会生成相同的数列。 所以在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有基于系统计时器的种子。
这里教大家一个产生指定范围的随机数的一个公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。
例如: Int((30-0+1)*Rnd+0) 将返回0到30的整数
好了,现在用实例来讲解Rnd函数的应用:
以下是代码片段:
<html>
<title>
生成随机字符串
</title>
<body>
<%
Function gen_key(digits)
'定义并初始化数组
dim char_array(80)
'初始化数字
For i = 0 To 9
char_array(i) = CStr(i)
Next
'初始化大写字母
For i = 10 To 35
char_array(i) = Chr(i + 55)
Next
'初始化小写字母
For i = 36 To 61
char_array(i) = Chr(i + 61)
Next
Randomize '初始化随机数生成器。
do while len(output) < digits
num = char_array(Int((62 - 0 + 1) * Rnd + 0))
output = output & num
loop
'设置返回值
gen_key = output
End Function
'把结果返回给浏览器
response.write "本实例生成的十三位随机字符串为:"
response.write "<font color=""red"">"&gen_key(13)&"</font>"
%>
</body>
</html>
该实例的效果就是随机产生十三位字符串,效果如下:
以下是代码运行效果:
本实例生成的十三位随机字符串为:YBUjVpL4yJeCo