几个ASP好用的自定义函数
cLeft(string, length) 返回指定数目的从字符串的左边算起的字符,区分单双字节。
如:
Dim MyString, LeftString
MyString = "文字测试VBSCript"
LeftString = cLeft(MyString, 10)
返回 "文字测试VB"。
MyRandc(n) 生成随机字符,n为字符的个数
如:
response.write MyRandn(10)
输出10个随机字符
MyRandn(n) 生成随机数字,n为数字的个数
如:
response.write MyRandn(10)
输出10个随机数字
formatQueryStr(str) 格式化sql中的like字符串.
如:
q = Request("q")
q = formatQueryStr(q)
sql = "select * from [table] where aa like '%"& q &"%'"
GetRnd(min,max) 返回min - max之间的一个随机数
如:
response.write GetRnd(100,200)
输出大于100到200之间的一个随机数
函数代码:
function cLeft(str,n)
dim str1,str2,alln,Islefted
str2 = ""
alln = 0
str1 = str
Islefted = false
if isnull(str) then
cleft = ""
exit function
end if
for i = 1 to len(str1)
nowstr = mid(str1,i,1)
if asc(nowstr)<0 then
alln = alln + 2
else
alln = alln + 1
end if
if (alln<=n) then
str2 = str2 & nowstr
else
Islefted = true
exit for
end if
next
if Islefted then
str2 = str2 & ".."
end if
cleft = str2
end function
function MyRandc(n) '生成随机字符,n为字符的个数
dim thechr
thechr = ""
for i=1 to n
dim zNum,zNum2
Randomize
zNum = cint(25*Rnd)
zNum2 = cint(10*Rnd)
if zNum2 mod 2 = 0 then
zNum = zNum + 97
else
zNum = zNum + 65
end if
thechr = thechr & chr(zNum)
next
MyRandc = thechr
end function
function MyRandn(n) '生成随机数字,n为数字的个数
dim thechr
thechr = ""
for i=1 to n
dim zNum,zNum2
Randomize
zNum = cint(9*Rnd)
zNum = zNum + 48
thechr = thechr & chr(zNum)
next
MyRandn = thechr
end function
function formatQueryStr(str) '格式化sql中的like字符串
dim nstr
nstr = str
nstr = replace(nstr,chr(0),"")
nstr = replace(nstr,"'","''")
nstr = replace(nstr,"[","[[]")
nstr = replace(nstr,"%","[%]")
formatQueryStr = nstr
end function
function GetRnd(min,max)
Randomize
GetRnd = Int((max - min + 1) * Rnd + min)
end function