再发几个ASP不错的函数

2018-09-06 12:48

阅读:506

  ********************
函数作用:根据条件真假返回选定值中的某个
参数: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>)
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>)
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&>&<<&</a>)
Fori=jTolngCurPage-1
Response.Write(<ahref=?&strQueryString&&p=&i&>&i&</a>)
Next
Response.Write(lngCurPage&)
Fori=lngCurPage+1Tok
Response.Write(<ahref=?&strQueryString&&p=&i&>&i&</a>)
Next
Response.Write(<ahref=?&strQueryString&&p=&lPageCount&>&>>&</a>)
EndIf
EndSub
********************
函数作用:当前页请求方式是否为POST
说明:用于在同一页面处理显示和数据操作,当PostBack()为真时说明提交表单至当前页,应进行数据后台操作
FunctionPostBack()
IfUCase(Trim(Request.ServerVariables(REQUEST_METHOD)))=POSTThen
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.WriteAnumericdatatypewasnotsubmittedtothisfunction.
ExitFunction
EndIf
Fori=1toLength
Randomize
v=Int((35*Rnd)+1)
tempS=tempS&c(v)
Next
GenRadomString=tempS
EndFunction


评论


亲,登录后才可以留言!