答案:在开发ASP程序时,一般会涉及到上传文件,以及生成订单号码,这些都需要考虑到上传文件名的不重复性,以及订单号码的不重复性。为了方便织梦的朋友,随手特写了一段随机产生不重复值的自定义函数,使用方法已有介绍。程序代码'#####################################################
'* 函数功能:随机产生不重复值
'* 程序参数:
'* RanStyle:随机样式(1按Now()取值;2按Date()取值)
'* RanLen:随机数长度位数
'* 函数引用:Response.write RandomStr(RanStyle, RanLen)
'*--------------------------------------------------------------------------------
'* 版权所有: Copyright (c) 2005,织梦幻影 开发小组
'* 函数设计: Juven
'* 联系方式: MSN:juven4cn@msn.com
'* OICQ:21821964
'* EMAIL:web@5dm.cn
'* 网站地址: http://www.5dm.cn
'*--------------------------------------------------------------------------------
'* 附加说明:函数中另使用到的自定义函数isNullLen(chkStr)与isInteger(para)代码见下
'#########################################################
Function RandomStr(RanStyle, RanLen)
dim ranNum, dtNow, RanValue
if isNullLen(RanStyle) or not isInteger(RanStyle) then RanStyle = 1
if isNullLen(RanLen) or not isInteger(RanLen) then RanLen = 4
randomize
ranNum = int(9*10^(RanLen-1)*rnd)+10^(RanLen-1)
Select Case RanStyle
Case 1
dtNow = Now()
RanValue = year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0" & hour(dtNow),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & ranNum
Case 2
dtNow = Date()
RanValue = year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & ranNum
Case Else
dtNow = Now()
RanValue = year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0" & hour(dtNow),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & ranNum
End Select
'refilename = replace(cstr(Date()),"-","") & ranNum
RandomStr = RanValue
End Function
'--------------------------------------------------------------------------------
'判断数字是否整形
function isInteger(para)
on error resume next
dim str
dim l,i
if isNUll(para) then
isInteger=false
exit function
end if
str=cstr(para)
if trim(str)="" then
isInteger=false
exit function
end if
l=len(str)
for i=1 to l
if mid(str,i,1)>"9" or mid(str,i,1)<"0" then
isInteger=false
exit function
end if
next
isInteger=true
if err.number<>0 then err.clear
end function
'检测长度
Function isNullLen(chkStr)
if isnull(chkStr) or isEmpty(chkStr) or chkStr ="" then
isNullLen=true
else
isNullLen=false
end if
End Function
上一个:ASP根据输入的日期计算对应农历天干地支及当年属相
下一个:在ASP中取得服务器网卡的MAC地址、DNS地址等信息