• 13507 阅读
  • 2 回复

ASP中生成随机数


刚做一个随机生成一个数字密码组,以前做过,不过后来忘记了,现在查了下资料才弄出来,所以写下个记录,希望对新手有所帮助。
关于随机数,请参看以下资料:
Rnd 函数
描述   返回一个随机数。
语法   Rnd[(number)]   number 参数可以是任意有效的数值表达式。
说明   Rnd 函数返回一个小于 1 但大于或等于 0 的值。 number 的值决定了Rnd 生成随机数的方式:
如果 number 为 Rnd 生成
(1)小于零 每次都相同的值,使用 number 作为种子。
(2)大于零 序列中的下一个随机数。
(3)等于零 最近生成的数。
(4)省略 序列中的下一个随机数。
因每一次连续调用 Rnd 函数时都用序列中的前一个数作为下一个数的种子,所以对于任何最初给定的种子都会生成相同的数列。
在调用 Rnd 之前,先使用无参数的Randomize 语句初始化随机数Generator,该Generator具有基于系统计时器的种子。
要产生指定范围的随机整数,请使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。
注意 要重复随机数的序列,请在使用数值参数调用 Randomize 之前,立即用负值参数调用 Rnd。使用同样 number 值的 Randomize 不能重复先前的随机数序列。
上面给出的有关ASP中随机数生成的函数及方法,大家在使用中可灵活结合其他的方法来实现自己的随机功能。

刚刚测试做的一个小演示代码,自己保存为一个asp文件测试吧

代码 复制 - 运行

Dim PassCode  '定义一个随机数变量 
Randomize   '这个不能少,不然生成的随机数不会跟着页面刷新刷新 

PassCode = Int((9999-1000+1)*Rnd+1000) '生成一个1000到9999之间的随机数 

Response.Write(PassCode)
以前看过生成验证码的时候,也是用的这个函数~~
以前看过生成验证码的时候,也是用的这个函数~~
-- by 会员 肖阳_洛阳 (2013-2-7 22:13:36)
现在验证码一般都用中文的,这样的太容易被破解了!