日期:2014-05-17  浏览次数:20817 次

asp 循环取10条字母+数字组合随机数每条10个字符 以下代码哪里问题请大哥们指教下
<%

 Randomize 
Do While Len(pass)<10 '随机密码位数 
num1=CStr(Chr((57-48)*rnd+48)) '0~9 
num2=CStr(Chr((90-65)*rnd+65)) 'A~Z 
num3=CStr(Chr((122-97)*rnd+97)) 'a~z 
pass=pass&num1&num2&num3 
loop

%> 

<%= pass%>

以上代码 只能取一条 10个字符的随机数

以下代码 也只能取一条记录 并且字符重复了
<%
for i=0 to 10
 Randomize 
Do While Len(pass)<10 '随机密码位数 
num1=CStr(Chr((57-48)*rnd+48)) '0~9 
num2=CStr(Chr((90-65)*rnd+65)) 'A~Z 
num3=CStr(Chr((122-97)*rnd+97)) 'a~z 
pass=pass&num1&num2&num3 
response.write pass
loop
next
%> 
 有知道的大哥吗?帮忙解决下 详细点 分不是问题

------解决方案--------------------
<%
for i=1 to 10
response.write getRnd()&"<br>"
next

function getRnd()
Dim pass
While Len(pass)<10 '随机密码位数
n=RndNumber(48,122)
while (n<48 or (n>57 and n<65) or (n>90 and n<97) or n>122)
n=RndNumber(48,122)
wend
pass=pass&CStr(Chr(n))
Wend
getRnd=pass
end function

Function RndNumber(MinNum,MaxNum) 
Randomize 
RndNumber=int((MaxNum-MinNum+1)*rnd+MinNum) 
End Function
%>
------解决方案--------------------
Randomize 这个要写在循环里面