====随机数问题===

ricky lyu 2003-12-03 11:47:49
很多网站在用户注册后会产生6位的随机号(数字)给用户做为登录帐号,而且用户之间的这个随机号不能重复!这是怎么做的,能给代码吗?先谢了
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2003-12-17
  • 打赏
  • 举报
回复

洗牌完美版:
<SCRIPT LANGUAGE=vbscript >
function xipai(mystr)
xipai=""
if len(mystr)=0 then'如果是空的,那么初试化一付连续的牌
for i=1 to 52
mystr=mystr & "<" & i & "> "
next
end if
dim i,x
for i=1 to 52
myarry=split(mystr) 'myarry是下标52的数组,前0-51个有效
randomize
x=cint(rnd*(ubound(myarry)-1))'前0-51个随便找一个
mystr=replace(mystr, myarry(x) & space(1),"")'从没发的牌中随便挑一张
xipai=xipai & myarry(x) & space(1)
next
end function

function XP(n)
mystr="xipai("""")"
dim i
for i=1 to n
mystr="xipai(" & mystr & ")"
next
XP=eval(mystr)
end function
document.write "洗牌完美版" & "<br/>"
document.write "洗一次牌:" & XP(1) & "<br/>"
document.write "洗两次牌:" & XP(2) & "<br/>"
document.write "洗三次牌:" & XP(3) & "<br/>"
document.write "洗一百次牌:" & XP(100) & "<br/>"
</SCRIPT>

subzero 2003-12-04
  • 打赏
  • 举报
回复
参照guid生成办法
ceocio 2003-12-04
  • 打赏
  • 举报
回复
<%
Dim myarr
For i = 0 To 100
Randomize
no = Int((1000-1+1)*Rnd+1)
For j = 0 To i
If no <> myarr(j) And no <> "" Then
j = j + 1
Else
Exit For
End If
myarr(i) = no
Next
If i = 21 Then
Exit For
End If
Next
%>

-----------------------------------
http://ceocio.blogger.cn
-----------------------------------
ricky lyu 2003-12-04
  • 打赏
  • 举报
回复
Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配

/index.asp,行7
lihui98 2003-12-03
  • 打赏
  • 举报
回复
个人感觉这种随机号是用来保证提交的信息是从指定页面传过来的

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧