那位可以解释一下这段代码

chjin 宁波栎社国际机场 软件技术总监  2008-04-17 11:04:28
<%
dim rndnum,codenum
Randomize
Do While Len(rndnum)<4
num1=CStr(Chr((57-48)*rnd+48))
rndnum=rndnum&num1
loop
session("codenum")=rndnum
%>

我知道是为了获取一个随机验证码,可是第三行与第五行我看不懂
...全文
29 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hookee 2008-04-17
48-57是0-9的ascii码
(57-48)*rnd+48)指从48-57中任取一个数 // 某区域取随机数的格式为 (max-min)*rnd + min
Chr((57-48)*rnd+48)) 就是0-9中的任意字符
回复
No_Data_Found 2008-04-17
Do While Len(rndnum) <4 的意思是 判断 随机字符串的长度 是不是小于4 如果小于再 循环

也可以这样

<% 
dim rndnum,codenum
Randomize

rndnum=cint(9999*rnd)


for i=1 to 4-len(rndnum)
rndnum = "0" & rndnum
next

session("codenum")=rndnum

response.Write rndnum
%>

回复
No_Data_Found 2008-04-17
48-57 为0-9 ascii码值

也可以这样


<%
dim rndnum,codenum
Randomize
Do While Len(rndnum) <4
'num1=CStr(Chr((57-48)*rnd+48))
num1=cint((57-48)*rnd)
rndnum=rndnum&""&num1
loop
session("codenum")=rndnum

response.Write rndnum
%>
回复
QUERY123123 2008-04-17
Randomize 随机种子 就是随产生数


num1=CStr(Chr((57-48)*rnd+48)) 产生0-9之间的随机数


回复
chjin 2008-04-17
中间的 rnd是什么意思?
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-04-17 11:04
社区公告
暂无公告