再发几个ASP不错的函数

时间:2021-05-26

********************
'函数作用:根据条件真假返回选定值中的某个
'参数:blnCondition:条件变量,varResultTrue:条件为真时返回值,varResultFalse:条件为假时返回值
FunctionIIF(blnCondition,varResultTrue,varResultFalse)
IfCBool(blnCondition)Then
IIF=varResultTrue
Else
IIF=varResultFalse
EndIf
EndFunction

'********************
'函数作用:判断某个字符串元素是否在给定枚举中
'参数:sEle:待判断的字符串,sArray:指定枚举
'举例:根据扩展名判断是否图片文件:InArray(strFileExt,"jpg,gif,bmp,png")
FunctionInArray(sEle,sArray)
DimaArray
Dimi
aArray=Split(sArray,",")
Fori=0ToUBound(aArray)
IfTrim(sEle)=Trim(aArray(i))Then
InArray=True
ExitFunction
EndIf
Next
InArray=False
EndFunction
'********************
'函数作用:判断某个字符串是否符合正则表达式
'参数:strString:字符串,strPattern:正则表达式
FunctiondoReTest(strString,strPattern)
DimoRE
SetoRE=NewRegExp
oRE.Pattern=strPattern
oRE.IgnoreCase=True
doReTest=oRE.Test(strString)
SetoRE=Nothing
EndFunction
'********************
'函数作用:正则提取
'参数:string:字符串,patrn:正则表达式
'返回:逗号分割的结果数组集成
FunctiondoReExec(strng,patrn)
DimregEx,Match,Matches,RetStr'创建变量。
SetregEx=NewRegExp'创建正则表达式。
regEx.Pattern=patrn'设置模式。
regEx.IgnoreCase=True'设置为不区分大小写。
regEx.Global=True'设置全局适用。
SetMatches=regEx.Execute(strng)'执行搜索。
ForEachMatchinMatches'对Matches集合进行迭代。
RetStr=RetStr&Match.Value&","&vbCRLF
Next
doReExec=RetStr
EndFunction
复制代码'********************
'函数作用:显示分页链接
'参数:lngCurPage:当前页是第几页,lngPageCount:一共几页,strSueryString:分页链接需要附加的QueryString变量
SubshowPageNav(lngCurPage,lngPageCount,ByValstrQueryString)
Response.Write"当前第"&lngCurPage&"页,共:"&lngPageCount&"页"
Dimi,j,k
IflngCurPage=1Then'如果是第一页
'如果lngPageCount小于10,则导航页最多到lngPageCount页
IflngPageCount<10Then
j=lngPageCount
Else
j=10
EndIf
Fori=2Toj
Response.Write("<ahref=""?"&strQueryString&"&p="&i&""">"&i&"</a>&nbsp;")
Next
ElseIflngCurPage=lngPageCountThen'如果是最后一页
'如果lngPageCount小于10,则导航起始从1开始
IflngPageCount<10Then
j=1
Else
j=lngPageCount-10
EndIf
Fori=jTolngPageCount-1
Response.Write("<ahref=""?"&strQueryString&"&p="&i&""">"&i&"</a>&nbsp;")
Next
Response.Write(lPageCount)
Else'如果是中间的页
IflngCurPage<=5Then
j=1
Else
j=lngCurPage-5
EndIf
IflngPageCount<=lngCurPage+5Then
k=lngPageCount
Else
k=lngCurPage+5
EndIf
Response.Write("<ahref=""?"&strQueryString&"&p="&1&""">"&"&lt;&lt;"&"</a>&nbsp;&nbsp;")
Fori=jTolngCurPage-1
Response.Write("<ahref=""?"&strQueryString&"&p="&i&""">"&i&"</a>&nbsp;")
Next
Response.Write(lngCurPage&"&nbsp;")
Fori=lngCurPage+1Tok
Response.Write("<ahref=""?"&strQueryString&"&p="&i&""">"&i&"</a>&nbsp;")
Next
Response.Write("&nbsp;<ahref=""?"&strQueryString&"&p="&lPageCount&""">"&"&gt;&gt;"&"</a>")
EndIf
EndSub
'********************
'函数作用:当前页请求方式是否为POST
'说明:用于在同一页面处理显示和数据操作,当PostBack()为真时说明提交表单至当前页,应进行数据后台操作
FunctionPostBack()
IfUCase(Trim(Request.ServerVariables("REQUEST_METHOD")))="POST"Then
PostBack=True
Else
PostBack=False
EndIf
EndFunction
'********************
'函数作用:返回执行长度的随机字符串
'参数:Length:长度
FunctionGenRadomString(Length)
dimi,tempS,v
dimc(39)
tempS=""
c(1)="a":c(2)="b":c(3)="c":c(4)="d":c(5)="e":c(6)="f":c(7)="g"
c(8)="h":c(9)="i":c(10)="j":c(11)="k":c(12)="l":c(13)="m":c(14)="n"
c(15)="o":c(16)="p":c(17)="q":c(18)="r":c(19)="s":c(20)="t":c(21)="u"
c(22)="v":c(23)="w":c(24)="x":c(25)="y":c(26)="z":c(27)="1":c(28)="2"
c(29)="3":c(30)="4":c(31)="5":c(32)="6":c(33)="7":c(34)="8":c(35)="9"
IfisNumeric(Length)=FalseThen
Response.Write"Anumericdatatypewasnotsubmittedtothisfunction."
ExitFunction
EndIf
Fori=1toLength
Randomize
v=Int((35*Rnd)+1)
tempS=tempS&c(v)
Next
GenRadomString=tempS
EndFunction

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章