ASP编程常用的函数function大全

网络整理 - 09-08

  <%

  ’*************************************

  ’防止外部提交

  ’*************************************

  function ChkPost()

  dim server_v1,server_v2

  chkpost=false

  server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))

  server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))

  If Mid(server_v1,8,Len(server_v2))<>server_v2 then

  chkpost=False

  else

  chkpost=True

  end If

  end function

  ’*************************************

  ’IP过滤

  ’*************************************

  function MatchIP(IP)

  on error resume next

  MatchIP=false

  Dim SIp,SplitIP

  for each SIp in FilterIP

  SIp=replace(SIp,"*","d*")

  SplitIP=split(SIp,".")

  Dim re, strMatchs,strIP

  Set re=new RegExp

  re.IgnoreCase =True

  re.Global=True

  re.Pattern="("&SplitIP(0)"|).""("&SplitIP(1)"|).""("&SplitIP(2)"|).""("&SplitIP(3)"|)"

  Set strMatchs=re.Execute(IP)

  strIP=strMatchs(0).SubMatches(0) & "." & strMatchs(0).SubMatches(1)& "." & strMatchs(0).SubMatches(2)& "." & strMatchs(0).SubMatches(3)

  if strIP=IP then MatchIP=true:exit function

  Set strMatchs=Nothing

  Set re=Nothing

  next

  end function

  ’*************************************

  ’获得注册码

  ’*************************************

  Function getcode()

  getcode= "<img src=""common/getcode.asp"" alt="""" style=""margin-right:40px;""/>"

  End Function

  ’*************************************

  ’限制上传文件类型

  ’*************************************

  Function IsvalidFile(File_Type)

  IsvalidFile = False

  Dim GName

  For Each GName in UP_FileType

  If File_Type = GName Then

  IsvalidFile = True

  Exit For

  End If

  Next

  End Function

  ’*************************************

  ’检测是否只包含英文和数字

  ’*************************************

  Function IsValidChars(str)

  Dim re,chkstr

  Set re=new RegExp

  re.IgnoreCase =true

  re.Global=True

  re.Pattern="[^_.a-zA-Zd]"

  IsValidChars=True

  chkstr=re.Replace(str,"")

  if chkstr<>str then IsValidChars=False

  set re=nothing

  End Function

  ’*************************************

  ’检测是否只包含英文和数字

  ’*************************************

  Function IsvalidValue(ArrayN,Str)

  IsvalidValue = false

  Dim GName

  For Each GName in ArrayN

  If Str = GName Then

  IsvalidValue = true

  Exit For

  End If

  Next

  End Function

  ’*************************************

  ’检测是否有效的数字

  ’*************************************

  Function IsInteger(Para)

  IsInteger=False

  If Not (IsNull(Para) Or Trim(Para)="" Or Not IsNumeric(Para)) Then

  IsInteger=True

  End If

  End Function

  ’*************************************

  ’用户名检测

  ’*************************************

  Function IsValidUserName(byVal UserName)

  on error resume next

  Dim i,c

  Dim VUserName

  IsValidUserName = True

  For i = 1 To Len(UserName)

  c = Lcase(Mid(UserName, i, 1))

  If InStr("$!<>?#^%@~`&*();:+=’"" ", c) > 0 Then

  IsValidUserName = False

  Exit Function

  End IF

  Next

  For Each VUserName in Register_UserName

  If UserName = VUserName Then

  IsValidUserName = False

  Exit For

  End If

  Next

  End Function

  ’*************************************

  ’检测是否有效的E-mail地址

  ’*************************************

  Function IsValidEmail(Email)

  Dim names, name, i, c

  IsValidEmail = True

  Names = Split(email, "@")

  If UBound(names) <> 1 Then

  IsValidEmail = False

  Exit Function

  End If

  For Each name IN names

  If Len(name) <= 0 Then

  IsValidEmail = False

  Exit Function

  End If

  For i = 1 to Len(name)

  c = Lcase(Mid(name, i, 1))

  If InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 And Not IsNumeric(c) Then

  IsValidEmail = false

  Exit Function

  End If

  Next

  If Left(name, 1) = "." or Right(name, 1) = "." Then

  IsValidEmail = false

  Exit Function

  End If

  Next

  If InStr(names(1), ".") <= 0 Then

  IsValidEmail = False

  Exit Function

  End If

  i = Len(names(1)) - InStrRev(names(1), ".")

  If i <> 2 And i <> 3 Then

  IsValidEmail = False

  Exit Function

  End If

  If InStr(email, "..") > 0 Then

  IsValidEmail = False

  End If

  End Function

  ’*************************************

  ’过滤超链接

  ’*************************************

  Function checkURL(ByVal ChkStr)

  Dim str:str=ChkStr

  str=Trim(str)

  If IsNull(str) Then

  checkURL = ""

  Exit Function

  End If

  Dim re

  Set re=new RegExp

  re.IgnoreCase =True

  re.Global=True

  re.Pattern="(d)(ocument.cookie)"

  Str = re.replace(Str,"$1ocument cookie")

  re.Pattern="(d)(ocument.write)"

  Str = re.replace(Str,"$1ocument write")

  re.Pattern="(s)(cript:)"

  Str = re.replace(Str,"$1cript ")

  re.Pattern="(s)(cript)"

  Str = re.replace(Str,"$1cript")

  re.Pattern="(o)(bject)"

  Str = re.replace(Str,"$1bject")

  re.Pattern="(a)(pplet)"

  Str = re.replace(Str,"$1pplet")

  re.Pattern="(e)(mbed)"

  Str = re.replace(Str,"$1mbed")

  Set re=Nothing

  Str = Replace(Str, ">", ">")

  Str = Replace(Str, "<", "<")

  checkURL=Str

  end function

  ’*************************************

  ’过滤文件名字

  ’*************************************

  Function FixName(UpFileExt)

  If IsEmpty(UpFileExt) Then Exit Function

  FixName = Ucase(UpFileExt)

  FixName = Replace(FixName,Chr(0),"")

  FixName = Replace(FixName,".","")

  FixName = Replace(FixName,"ASP","")

  FixName = Replace(FixName,"ASA","")

  FixName = Replace(FixName,"ASPX","")

  FixName = Replace(FixName,"CER","")

  FixName = Replace(FixName,"CDX","")

  FixName = Replace(FixName,"HTR","")

  End Function

  ’*************************************

  ’过滤特殊字符

  ’*************************************

  Function CheckStr(byVal ChkStr)

  Dim Str:Str=ChkStr

  If IsNull(Str) Then

  CheckStr = ""

  Exit Function

  End If

  Str = Replace(Str, "&", "&")

  Str = Replace(Str,"’","’")

  Str = Replace(Str,"""",""")

  Dim re

  Set re=new RegExp

  re.IgnoreCase =True

  re.Global=True

  re.Pattern="(w)(here)"

  Str = re.replace(Str,"$1here")

  re.Pattern="(s)(elect)"

  Str = re.replace(Str,"$1elect")

  re.Pattern="(i)(nsert)"

  Str = re.replace(Str,"$1nsert")

  re.Pattern="(c)(reate)"

  Str = re.replace(Str,"$1reate")

  re.Pattern="(d)(rop)"

  Str = re.replace(Str,"$1rop")

  re.Pattern="(a)(lter)"

  Str = re.replace(Str,"$1lter")

  re.Pattern="(d)(elete)"

  Str = re.replace(Str,"$1elete")

  re.Pattern="(u)(pdate)"

  Str = re.replace(Str,"$1pdate")

  re.Pattern="(s)(or)"

  Str = re.replace(Str,"$1or")

  Set re=Nothing

  CheckStr=Str

  End Function

  ’*************************************

  ’恢复特殊字符

  ’*************************************

  Function UnCheckStr(ByVal Str)

  If IsNull(Str) Then

  UnCheckStr = ""

  Exit Function

  End If

  Str = Replace(Str,"’","’")

  Str = Replace(Str,""","""")

  Dim re

  Set re=new RegExp

  re.IgnoreCase =True

  re.Global=True

  re.Pattern="(w)(here)"

  str = re.replace(str,"$1here")

  re.Pattern="(s)(elect)"

  str = re.replace(str,"$1elect")

  re.Pattern="(i)(nsert)"

  str = re.replace(str,"$1nsert")

  re.Pattern="(c)(reate)"

  str = re.replace(str,"$1reate")

  re.Pattern="(d)(rop)"

  str = re.replace(str,"$1rop")

  re.Pattern="(a)(lter)"

  str = re.replace(str,"$1lter")

  re.Pattern="(d)(elete)"

  str = re.replace(str,"$1elete")

  re.Pattern="(u)(pdate)"

  str = re.replace(str,"$1pdate")

  re.Pattern="(s)(or)"

  Str = re.replace(Str,"$1or")

  Set re=Nothing

  Str = Replace(Str, "&", "&")

  UnCheckStr=Str

  End Function

  ’*************************************

  ’转换HTML代码

  ’*************************************

  Function HTMLEncode(ByVal reString)

  Dim Str:Str=reString

  If Not IsNull(Str) Then

  Str = Replace(Str, ">", ">")

  Str = Replace(Str, "<", "<")

  Str = Replace(Str, CHR(9), " ")

  Str = Replace(Str, CHR(32), " ")

  Str = Replace(Str, CHR(39), "’")

  Str = Replace(Str, CHR(34), """)

  Str = Replace(Str, CHR(13), "")

  Str = Replace(Str, CHR(10), "<br/>")

  HTMLEncode = Str

  End If

  End Function

  ’*************************************

  ’反转换HTML代码

  ’*************************************

  Function HTMLDecode(ByVal reString)

  Dim Str:Str=reString

  If Not IsNull(Str) Then

  Str = Replace(Str, ">", ">")

  Str = Replace(Str, "<", "<")

  Str = Replace(Str, " ", CHR(9))

  Str = Replace(Str, " ", CHR(32))

  Str = Replace(Str, "’", CHR(39))

  Str = Replace(Str, """, CHR(34))

  Str = Replace(Str, "", CHR(13))

  Str = Replace(Str, "<br/>", CHR(10))

  HTMLDecode = Str

  End If

  End Function

  ’*************************************

  ’恢复&字符

  ’*************************************

  function ClearHTML(ByVal reString)

  Dim Str:Str=reString

  If Not IsNull(Str) Then

  Str = Replace(Str, "&", "&")

  ClearHTML = Str

  End If

  End Function

  ’*************************************

  ’过滤textarea

  ’*************************************

  Function UBBFilter(ByVal reString)

  Dim Str:Str=reString

  If Not IsNull(Str) Then

  Str = Replace(Str, "</textarea>", "</textarea>")

  UBBFilter = Str

  End If

  End Function

  ’*************************************

  ’过滤HTML代码

  ’*************************************

  Function EditDeHTML(byVal Content)

  EditDeHTML=Content

  IF Not IsNull(EditDeHTML) Then

  EditDeHTML=UnCheckStr(EditDeHTML)

  EditDeHTML=Replace(EditDeHTML,"&","&")

  EditDeHTML=Replace(EditDeHTML,"<","<")

  EditDeHTML=Replace(EditDeHTML,">",">")

  EditDeHTML=Replace(EditDeHTML,chr(34),""")

  EditDeHTML=Replace(EditDeHTML,chr(39),"’")

  End IF

  End Function 分页函数

  ’*************************************

  dim FirstShortCut,ShortCut

  FirstShortCut=false

  Function MultiPage(Numbers,Perpage,Curpage,Url_Add,aname,Style)

  CurPage=Int(Curpage)

  Numbers=Int(Numbers)

  Dim URL

  URL=Request.ServerVariables("Script_Name")&Url_Add

  MultiPage=""

  Dim Page,Offset,PageI

  ’ If Int(Numbers)>Int(PerPage) Then

  Page=9

  Offset=4

  Dim Pages,FromPage,ToPage

  If Numbers Mod Cint(Perpage)=0 Then

  Pages=Int(Numbers/Perpage)

  Else

  Pages=Int(Numbers/Perpage)+1

  End If

  FromPage=Curpage-Offset

  ToPage=Curpage+Page-Offset-1

  If Page>Pages Then

  FromPage=1

  ToPage=Pages

  Else

  If FromPage<1 Then

  Topage=Curpage+1-FromPage

  FromPage=1

  If (ToPage-FromPage)<Page And (ToPage-FromPage)<Pages Then ToPage=Page

  ElseIF Topage>Pages Then

  FromPage =Curpage-Pages +ToPage

  ToPage=Pages

  If (ToPage-FromPage)<Page And (ToPage-FromPage)<Pages Then FromPage=Pages-Page+1

  End If

  End If

  MultiPage="<div class=""page"" style="""&Style"""><ul>"

  ’if Curpage<>1 then MultiPage=MultiPage&"<li class=""PageL""><a href="""&Url&"page=1"" class=""PageLbutton"" title=""第一页""></a></li>"

  MultiPage=MultiPage"<li class=""pageNumber"">"

  if Curpage<>1 then MultiPage=MultiPage"<a href="""&Url"page=1"" title=""第一页"" style=""text-decoration:none""><</a> | "

  if not FirstShortCut then ShortCut=" accesskey="",""" else ShortCut=""

  if Curpage<>1 then MultiPage=MultiPage"<a href="""&Url"page="&CurPage-1""" title=""上一页"" style=""text-decoration:none;"""&ShortCut"></a>"

  For PageI=FromPage TO ToPage

  If PageI<>CurPage Then

  MultiPage=MultiPage"<a href="""&Url"page="&PageI&aname""">"&PageI"</a> | "

  Else

  MultiPage=MultiPage"<strong>"&PageI"</strong>"

  if PageI<>Pages then MultiPage=MultiPage" | "

  End If

  Next

  if not FirstShortCut then ShortCut=" accesskey="".""" else ShortCut=""

  if Curpage<>pages then MultiPage=MultiPage"<a href="""&Url"page="&CurPage+1""" title=""下一页"" style=""text-decoration:none"""&ShortCut"></a>"

  if Curpage<>pages then MultiPage=MultiPage"<a href="""&Url"page="&Pages&aname""" title=""最后一页"" style=""text-decoration:none"">></a>"

  MultiPage=MultiPage"</li>"

  ’If Int(Pages)>Int(Page) Then

  ’ MultiPage=MultiPage&"<li>...</li><li><a href="""&Url&"page="&Pages&aname&""">"&pages&"</a></li>"

  ’End If

  ’if Curpage<>pages then MultiPage=MultiPage&"<li class=""PageR""><a href="""&Url&"page="&Pages&aname&""" class=""PageRbutton"" title=""最后一页""></a></li>"

  MultiPage=MultiPage"</ul></div>"

  ’ End If

  FirstShortCut=true

  End Function

  ’*************************************

  ’切割内容 - 按行分割

  ’*************************************

  Function SplitLines(byVal Content,byVal ContentNums)

  Dim ts,i,l

  ContentNums=int(ContentNums)

  If IsNull(Content) Then Exit Function

  i=1

  ts = 0

  For i=1 to Len(Content)

  l=Lcase(Mid(Content,i,5))

  If l="<br/>" Then

  ts=ts+1

  End If

  l=Lcase(Mid(Content,i,4))

  If l="<br>" Then

  ts=ts+1

  End If

  l=Lcase(Mid(Content,i,3))

  If l="<p>" Then

  ts=ts+1

  End If

  If ts>ContentNums Then Exit For

  Next

  If ts>ContentNums Then

  Content=Left(Content,i-1)

  End If

  SplitLines=Content

  End Function

  ’*************************************

  ’切割内容 - 按字符分割

  ’*************************************

  Function CutStr(byVal Str,byVal StrLen)

  Dim l,t,c,i

  If IsNull(Str) Then CutStr="":Exit Function

  l=Len(str)

  StrLen=int(StrLen)

  t=0

  For i=1 To l

  c=Asc(Mid(str,i,1))

  If c<0 Or c>255 Then t=t+2 Else t=t+1

  IF t>=StrLen Then

  CutStr=left(Str,i)"..."

  Exit For

  Else

  CutStr=Str

  End If

  Next

  End Function

  ’*************************************

  ’删除引用标签

  ’*************************************

  Function DelQuote(strContent)

  If IsNull(strContent) Then Exit Function

  Dim re

  Set re=new RegExp

  re.IgnoreCase =True

  re.Global=True

  re.Pattern="

引用内容

(.[^]]*?)

"

  strContent= re.Replace(strContent,"")

  re.Pattern="

引用来自 (.[^

]*)](.[^]]*?)

"

  strContent= re.Replace(strContent,"")

  Set re=Nothing

  DelQuote=strContent

  End Function

  ’*************************************

  ’获取客户端IP

  ’*************************************

  function getIP()

  dim strIP,IP_Ary,strIP_list

  strIP_list=Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"’","")

  If InStr(strIP_list,",")<>0 Then

  IP_Ary = Split(strIP_list,",")

  strIP = IP_Ary(0)

  Else

  strIP = strIP_list

  End IF

  If strIP=Empty Then strIP=Replace(Request.ServerVariables("REMOTE_ADDR"),"’","")

  getIP=strIP

  End Function

  ’*************************************

  ’获取客户端浏览器信息

  ’*************************************

  function getBrowser(strUA)

  dim arrInfo,strType,temp1,temp2

  strType=""

  strUA=LCase(strUA)

  arrInfo=Array("Unkown","Unkown")

  ’浏览器判断

  if Instr(strUA,"mozilla")>0 then arrInfo(0)="Mozilla"

  if Instr(strUA,"icab")>0 then arrInfo(0)="iCab"

  if Instr(strUA,"lynx")>0 then arrInfo(0)="Lynx"

  if Instr(strUA,"links")>0 then arrInfo(0)="Links"

  if Instr(strUA,"elinks")>0 then arrInfo(0)="ELinks"

  if Instr(strUA,"jbrowser")>0 then arrInfo(0)="JBrowser"

  if Instr(strUA,"konqueror")>0 then arrInfo(0)="konqueror"

  if Instr(strUA,"wget")>0 then arrInfo(0)="wget"

  if Instr(strUA,"ask jeeves")>0 or Instr(strUA,"teoma")>0 then arrInfo(0)="Ask Jeeves/Teoma"

  if Instr(strUA,"wget")>0 then arrInfo(0)="wget"

  if Instr(strUA,"opera")>0 then arrInfo(0)="opera"

  if Instr(strUA,"gecko")>0 then

  strType="[Gecko]"

  arrInfo(0)="Mozilla"

  if Instr(strUA,"aol")>0 then arrInfo(0)="AOL"

  if Instr(strUA,"netscape")>0 then arrInfo(0)="Netscape"

  if Instr(strUA,"firefox")>0 then arrInfo(0)="FireFox"

  if Instr(strUA,"chimera")>0 then arrInfo(0)="Chimera"

  if Instr(strUA,"camino")>0 then arrInfo(0)="Camino"

  if Instr(strUA,"galeon")>0 then arrInfo(0)="Galeon"

  if Instr(strUA,"k-meleon")>0 then arrInfo(0)="K-Meleon"

  arrInfo(0)=arrInfo(0)+strType

  end if

  if Instr(strUA,"bot")>0 or Instr(strUA,"crawl")>0 then

  strType="[Bot/Crawler]"

  arrInfo(0)=""

  if Instr(strUA,"grub")>0 then arrInfo(0)="Grub"

  if Instr(strUA,"googlebot")>0 then arrInfo(0)="GoogleBot"

  if Instr(strUA,"msnbot")>0 then arrInfo(0)="MSN Bot"

  if Instr(strUA,"slurp")>0 then arrInfo(0)="Yahoo! Slurp"

  arrInfo(0)=arrInfo(0)+strType

  end if

  if Instr(strUA,"applewebkit")>0 then

  strType="[AppleWebKit]"

  arrInfo(0)=""

  if Instr(strUA,"omniweb")>0 then arrInfo(0)="OmniWeb"

  if Instr(strUA,"safari")>0 then arrInfo(0)="Safari"

  arrInfo(0)=arrInfo(0)+strType

  end if

  if Instr(strUA,"msie")>0 then

  strType="[MSIE"

  temp1=mid(strUA,(Instr(strUA,"msie")+4),6)

  temp2=Instr(temp1,";")

  temp1=left(temp1,temp2-1)

  strType=strType & temp1 "]"

  arrInfo(0)="Internet Explorer"

  if Instr(strUA,"msn")>0 then arrInfo(0)="MSN"

  if Instr(strUA,"aol")>0 then arrInfo(0)="AOL"

  if Instr(strUA,"webtv")>0 then arrInfo(0)="WebTV"

  if Instr(strUA,"myie2")>0 then arrInfo(0)="MyIE2"

  if Instr(strUA,"maxthon")>0 then arrInfo(0)="Maxthon"

  if Instr(strUA,"gosurf")>0 then arrInfo(0)="GoSurf"

  if Instr(strUA,"netcaptor")>0 then arrInfo(0)="NetCaptor"

  if Instr(strUA,"sleipnir")>0 then arrInfo(0)="Sleipnir"

  if Instr(strUA,"avant browser")>0 then arrInfo(0)="AvantBrowser"

  if Instr(strUA,"greenbrowser")>0 then arrInfo(0)="GreenBrowser"

  if Instr(strUA,"slimbrowser")>0 then arrInfo(0)="SlimBrowser"

  arrInfo(0)=arrInfo(0)+strType

  end if

  ’操作系统判断

  if Instr(strUA,"windows")>0 then arrInfo(1)="Windows"

  if Instr(strUA,"windows ce")>0 then arrInfo(1)="Windows CE"

  if Instr(strUA,"windows 95")>0 then arrInfo(1)="Windows 95"

  if Instr(strUA,"win98")>0 then arrInfo(1)="Windows 98"

  if Instr(strUA,"windows 98")>0 then arrInfo(1)="Windows 98"

  if Instr(strUA,"windows 2000")>0 then arrInfo(1)="Windows 2000"

  if Instr(strUA,"windows xp")>0 then arrInfo(1)="Windows XP"

  if Instr(strUA,"windows nt")>0 then

  arrInfo(1)="Windows NT"

  if Instr(strUA,"windows nt 5.0")>0 then arrInfo(1)="Windows 2000"

  if Instr(strUA,"windows nt 5.1")>0 then arrInfo(1)="Windows XP"

  if Instr(strUA,"windows nt 5.2")>0 then arrInfo(1)="Windows 2003"

  end if

  if Instr(strUA,"x11")>0 or Instr(strUA,"unix")>0 then arrInfo(1)="Unix"

  if Instr(strUA,"sunos")>0 or Instr(strUA,"sun os")>0 then arrInfo(1)="SUN OS"

  if Instr(strUA,"powerpc")>0 or Instr(strUA,"ppc")>0 then arrInfo(1)="PowerPC"

  if Instr(strUA,"macintosh")>0 then arrInfo(1)="Mac"

  if Instr(strUA,"mac osx")>0 then arrInfo(1)="MacOSX"

  if Instr(strUA,"freebsd")>0 then arrInfo(1)="FreeBSD"

  if Instr(strUA,"linux")>0 then arrInfo(1)="Linux"

  if Instr(strUA,"palmsource")>0 or Instr(strUA,"palmos")>0 then arrInfo(1)="PalmOS"

  if Instr(strUA,"wap ")>0 then arrInfo(1)="WAP"

  ’arrInfo(0)=strUA

  getBrowser=arrInfo

  end function

  ’*************************************

  ’计算随机数

  ’*************************************

  function randomStr(intLength)

  dim strSeed,seedLength,pos,str,i

  strSeed = "abcdefghijklmnopqrstuvwxyz1234567890"

  seedLength=len(strSeed)

  str=""

  Randomize

  for i=1 to intLength

  str=str+mid(strSeed,int(seedLength*rnd)+1,1)

  next

  randomStr=str

  end function

  ’*************************************

  ’自动闭合UBB

  ’*************************************

  function closeUBB(strContent)

  dim arrTags,i,OpenPos,ClosePos,re,strMatchs,j,Match

  Set re=new RegExp

  re.IgnoreCase =True

  re.Global=True

  arrTags=array("code","quote","list","color","align","font","size","b","i","u","html")

  for i=0 to ubound(arrTags)

  OpenPos=0

  ClosePos=0

  re.Pattern="["+arrTags(i)+"(=[^[]]+|)]"

  Set strMatchs=re.Execute(strContent)

  For Each Match in strMatchs

  OpenPos=OpenPos+1

  next

  re.Pattern="[/"+arrTags(i)+"]"

  Set strMatchs=re.Execute(strContent)

  For Each Match in strMatchs

  ClosePos=ClosePos+1

  next

  for j=1 to OpenPos-ClosePos

  strContent=strContent+"[/"+arrTags(i)+"]"

  next

  next

  closeUBB=strContent

  end function

  ’*************************************

  ’自动闭合HTML

  ’*************************************

  function closeHTML(strContent)

  dim arrTags,i,OpenPos,ClosePos,re,strMatchs,j,Match

  Set re=new RegExp

  re.IgnoreCase =True

  re.Global=True

  arrTags=array("p","div","span","table","ul","font","b","u","i","h1","h2","h3","h4","h5","h6")

  for i=0 to ubound(arrTags)

  OpenPos=0

  ClosePos=0

  re.Pattern="<"+arrTags(i)+"( [^<>]+|)>"

  Set strMatchs=re.Execute(strContent)

  For Each Match in strMatchs

  OpenPos=OpenPos+1

  next

  re.Pattern="</"+arrTags(i)+">"

  Set strMatchs=re.Execute(strContent)

  For Each Match in strMatchs

  ClosePos=ClosePos+1

  next

  for j=1 to OpenPos-ClosePos

  strContent=strContent+"</"+arrTags(i)+">"

  next

  next

  closeHTML=strContent

  end function

  ’*************************************

  ’读取文件

  ’*************************************

  Function LoadFromFile(ByVal File)

  Dim objStream

  Dim RText

  RText=array(0,"")

  On Error Resume Next

  Set objStream = Server.CreateObject("ADODB.Stream")

  If Err Then

  RText=array(Err.Number,Err.Description)

  LoadFromFile=RText

  Err.Clear

  exit function

  End If

  With objStream

  .Type = 2

  .Mode = 3

  .Open

  .Charset = "utf-8"

  .Position = objStream.Size

  .LoadFromFile Server.MapPath(File)

  If Err.Number<>0 Then

  RText=array(Err.Number,Err.Description)

  LoadFromFile=RText

  Err.Clear

  exit function

  End If

  RText=array(0,.ReadText)

  .Close

  End With

  LoadFromFile=RText

  Set objStream = Nothing

  End Function

  ’*************************************

  ’保存文件

  ’*************************************

  Function SaveToFile(ByVal strBody,ByVal File)

  Dim objStream

  Dim RText

  RText=array(0,"")

  On Error Resume Next

  Set objStream = Server.CreateObject("ADODB.Stream")

  If Err Then

  RText=array(Err.Number,Err.Description)

  Err.Clear

  exit function

  End If

  With objStream

  .Type = 2

  .Open

  .Charset = "utf-8"

  .Position = objStream.Size

  .WriteText = strBody

  .SaveToFile Server.MapPath(File),2

  .Close

  End With

  RText=array(0,"保存文件成功!")

  SaveToFile=RText

  Set objStream = Nothing

  End Function

  ’*************************************

  ’数据库添加修改操作

  ’*************************************

  function DBQuest(table,DBArray,Action)

  dim AddCount,TempDB,i,v

  if Action<>"insert" or Action<>"update" then Action="insert"

  if Action="insert" then v=2 else v=3

  if not IsArray(DBArray) then

  DBQuest=-1

  exit function

  else

  Set TempDB=Server.CreateObject("ADODB.RecordSet")

  On Error Resume Next

  TempDB.Open table,Conn,1,v

  if err then

  DBQuest=-2

  exit function

  end if

  if Action="insert" then TempDB.addNew

  AddCount=UBound(DBArray,1)

  for i=0 to AddCount

  TempDB(DBArray(i)(0))=DBArray(i)(1)

  next

  TempDB.update

  TempDB.close

  set TempDB=nothing

  DBQuest=0

  end if

  end Function

  %>检测系统组件是否安装

  ’*************************************

  Function CheckObjInstalled(strClassString)

  On Error Resume Next

  Dim Temp

  Err = 0

  Dim TmpObj

  Set TmpObj = Server.CreateObject(strClassString)

  Temp = Err

  IF Temp = 0 OR Temp = -2147221477 Then

  CheckObjInstalled=true

  ElseIF Temp = 1 OR Temp = -2147221005 Then

  CheckObjInstalled=false

  End IF

  Err.Clear

  Set TmpObj = Nothing

  Err = 0

  End Function

  ’*************************************

  ’判断服务器Microsoft.XMLDOM

  ’*************************************

  Function getXMLDOM

  On Error Resume Next

  Dim Temp

  getXMLDOM="Microsoft.XMLDOM"

  Err = 0

  Dim TmpObj

  Set TmpObj = Server.CreateObject(getXMLDOM)

  Temp = Err

  IF Temp = 1 OR Temp = -2147221005 Then

  getXMLDOM="Msxml2.DOMDocument.5.0"

  End IF

  Err.Clear

  Set TmpObj = Nothing

  Err = 0

  end function

  ’*************************************

  ’判断服务器MSXML2.ServerXMLHTTP

  ’*************************************

  Function getXMLHTTP

  On Error Resume Next

  Dim Temp

  getXMLHTTP="MSXML2.ServerXMLHTTP"

  Err = 0

  Dim TmpObj

  Set TmpObj = Server.CreateObject(getXMLHTTP)

  Temp = Err

  IF Temp = 1 OR Temp = -2147221005 Then

  getXMLHTTP="Msxml2.ServerXMLHTTP.5.0"

  End IF

  Err.Clear

  Set TmpObj = Nothing

  Err = 0

  end function

  ’*********************************************************

  ’ 目的: 检查正则式

  ’ 输入: id

  ’ 返回: 成功为True

  ’*********************************************************

  Function CheckRegExp(source,para)

  If para="[username]" Then

  para="^[.A-Za-z0-9u4e00-u9fa5]+$"

  End If

  If para="[password]" Then

  para="^[a-z0-9]+$"

  End If

  If para="[email]" Then

  para="^([0-9a-zA-Z]([-.w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-w]*.)+[a-zA-Z]*)$"

  End If

  If para="[homepage]" Then

  para="^[a-zA-Z]+://[a-zA-z0-9-./]+?/*$"

  End If

  If para="[nojapan]" Then

  para="[u3040-u30ff]+"

  End If

  If para="[guid]" Then

  para="^w{8}-w{4}-w{4}-w{4}-w{12}$"

  End If

  Dim re

  Set re = New RegExp

  re.Global = True

  re.Pattern = para

  re.IgnoreCase = False

  CheckRegExp = re.Test(source)

  End Function

  ’**********************************************

  ’获取在线人数

  ’**********************************************

  function getOnline

  getOnline=1

  if len(Application(space_CookieName"_onlineCount"))>0 then

  if DateDiff("s",Application(space_CookieName"_userOnlineCountTime"),now())>60 then

  Application.Lock()

  Application(space_CookieName"_online")=Application(space_CookieName"_onlineCount")

  Application(space_CookieName"_onlineCount")=1

  Application(space_CookieName"_onlineCountKey")=randStr(2)

  Application(space_CookieName"_userOnlineCountTime")=now()

  Application.Unlock()

  else

  if Session(space_CookieName"userOnlineKey")<>Application(space_CookieName"_onlineCountKey") then

  Application.Lock()

  Application(space_CookieName"_onlineCount")=Application(space_CookieName"_onlineCount")+1

  Application.Unlock()

  Session(space_CookieName"userOnlineKey")=Application(space_CookieName"_onlineCountKey")

  end if

  end if

  else

  Application.Lock

  Application(space_CookieName"_online")=1

  Application(space_CookieName"_onlineCount")=1

  Application(space_CookieName"_onlineCountKey")=randStr(2)

  Application(space_CookieName"_userOnlineCountTime")=now()

  Application.Unlock

  end if

  getOnline=Application(space_CookieName"_online")

  end Function