·ÖÒ³À࣬Òì³£Àà

¡¡¡¡ÆäËüµÄһЩ£¬±ÈÈç·ÖÒ³À࣬Òì³£ÀࣨÓÃÓÚÐÅÏ¢Ìáʾ£©£¬Îļþ²Ù×÷ÀࣨδÍê³É£©£¬¾­³£Óõ½µÄ¹¤¾ßÀ༰ÑéÖ¤ÊäÈëµÄ±íµ¥ÑéÖ¤ÀࣨASP°æ£¬ÅäºÏǰ̨JS°æÊ¹Óøü¼Ñ£©£º

¡¡¡¡·ÖÒ³ÀàPager

¡¡¡¡<%

¡¡¡¡Class Pager Private IUrl

¡¡¡¡Private IPage

¡¡¡¡Private IParam

¡¡¡¡Private IPageSize

¡¡¡¡Private IPageCount

¡¡¡¡Private IRecordCount

¡¡¡¡Private ICurrentPageIndex Public Property Let Url(ByVal PUrl)

¡¡¡¡IUrl = PUrl

¡¡¡¡End Property Public Property Get Url()

¡¡¡¡If IUrl = "" Then

¡¡¡¡If Request.QueryString <> "" Then

¡¡¡¡Dim query

¡¡¡¡For Each key In Request.QueryString

¡¡¡¡If key <> Param Then

¡¡¡¡query = query & key & "=" & Server.UrlEnCode(Request.QueryString(key)) & "&"

¡¡¡¡End If

¡¡¡¡Next

¡¡¡¡IUrl = Page & "?" & query & Param & "="

¡¡¡¡Else

¡¡¡¡IUrl = Page & "?" & Param & "="

¡¡¡¡End If

¡¡¡¡End If

¡¡¡¡Url =IUrl

¡¡¡¡End Property Public Property Let Page(ByVal PPage)

¡¡¡¡IPage = PPage

¡¡¡¡End Property Public Property Get Page()

¡¡¡¡Page = IPage

¡¡¡¡End Property Public Property Let Param(ByVal PParam)

¡¡¡¡IParam = PParam

¡¡¡¡End Property Public Property Get Param()

¡¡¡¡Param = IParam

¡¡¡¡End Property Public Property Let PageSize(ByVal PPageSize)

¡¡¡¡IPageSize = PPageSize

¡¡¡¡End Property Public Property Get PageSize()

¡¡¡¡PageSize = IPageSize

¡¡¡¡End Property Public Property Get PageCount()

¡¡¡¡If (Not IPageCount > 0) Then

¡¡¡¡IPageCount = IRecordCount \ IPageSize

¡¡¡¡If (IRecordCount MOD IPageSize) > 0 Or IRecordCount = 0 Then

¡¡¡¡IPageCount = IPageCount + 1

¡¡¡¡End If

¡¡¡¡End If

¡¡¡¡PageCount = IPageCount

¡¡¡¡End Property Public Property Let RecordCount(ByVal PRecordCount)

¡¡¡¡IRecordCount = PRecordCount

¡¡¡¡End Property Public Property Get RecordCount()

¡¡¡¡RecordCount = IRecordCount

¡¡¡¡End Property Public Property Let CurrentPageIndex(ByVal PCurrentPageIndex)

¡¡¡¡ICurrentPageIndex = PCurrentPageIndex

¡¡¡¡End Property Public Property Get CurrentPageIndex()

¡¡¡¡If ICurrentPageIndex = "" Then

¡¡¡¡If Request.QueryString(Param) = "" Then

¡¡¡¡ICurrentPageIndex = 1

¡¡¡¡Else

¡¡¡¡If IsNumeric(Request.QueryString(Param)) Then

¡¡¡¡ICurrentPageIndex = CInt(Request.QueryString(Param))

¡¡¡¡If ICurrentPageIndex < 1 Then ICurrentPageIndex = 1

¡¡¡¡If ICurrentPageIndex > PageCount Then ICurrentPageIndex = PageCount

¡¡¡¡Else ICurrentPageIndex = 1

¡¡¡¡End If

¡¡¡¡End If

¡¡¡¡End If

¡¡¡¡CurrentPageIndex = ICurrentPageIndex

¡¡¡¡End Property Private Sub Class_Initialize()

¡¡¡¡With Me

¡¡¡¡.Param = "page"

¡¡¡¡.PageSize = 10

¡¡¡¡End With

¡¡¡¡End Sub Private Sub Class_Terminate()

¡¡¡¡End Sub Private Function Navigation()

¡¡¡¡Dim Nav

¡¡¡¡If CurrentPageIndex = 1 Then

¡¡¡¡Nav = Nav & " Ê×Ò³ ÉÏÒ³ "

¡¡¡¡Else

¡¡¡¡Nav = Nav & " <a href=""" & Url & "1"">Ê×Ò³</a> <a href=""" & Url & (CurrentPageIndex - 1) & """>ÉÏÒ³</a> "

¡¡¡¡End If If CurrentPageIndex = PageCount Or PageCount = 0 Then

¡¡¡¡Nav = Nav & " ÏÂÒ³ Î²Ò³ "

¡¡¡¡Else

¡¡¡¡Nav = Nav & " <a href=""" & Url & (CurrentPageIndex + 1) & """>ÏÂÒ³</a> <a href=""" & Url & PageCount & """>βҳ</a> "

¡¡¡¡End If Navigation = Nav

¡¡¡¡End Function Private Function SelectMenu()

¡¡¡¡Dim Selector

¡¡¡¡Dim i : i = 1

¡¡¡¡While i <= PageCount

¡¡¡¡If i = ICurrentPageIndex Then

¡¡¡¡Selector = Selector & "<option value=""" & i & """ selected=""true"">" & i &"</option>" & vbCrLf

¡¡¡¡Else

¡¡¡¡Selector = Selector & "<option value=""" & i & """>" & i &"</option>" & vbCrLf

¡¡¡¡End If

¡¡¡¡i = i + 1

¡¡¡¡Wend

¡¡¡¡SelectMenu = vbCrLf & "<select style=""font:9px Tahoma"" onchange=""location='" & Url & "' + this.value"">" & vbCrLf & Selector & vbCrLf & "</select>" & vbCrLf

¡¡¡¡End Function Public Sub Display()

¡¡¡¡If RecordCount > 0 Then

¡¡¡¡%>

¡¡¡¡<style>b{font:bold}</style>

¡¡¡¡<div style="text-align:right;width:100%">>>·ÖÒ³ <%=Navigation()%> Ò³´Î£º<b><%=ICurrentPageIndex%></b>/<b><%=PageCount%></b>Ò³ <b><%=PageSize%></b>¸ö¼Ç¼/Ò³ ×ªµ½<%=SelectMenu()%>Ò³ ¹² <b><%=IRecordCount%></b>Ìõ¼Ç¼</div>

¡¡¡¡<%

¡¡¡¡Else

¡¡¡¡Response.Write("<div style=""text-align:center"">ÔÝÎ޼Ǽ</div>")

¡¡¡¡End If

¡¡¡¡End Sub End Class

¡¡¡¡%> Òì³£ÀàException£º

¡¡¡¡<%

¡¡¡¡Class Exception

¡¡¡¡Private IWindow

¡¡¡¡Private ITarget

¡¡¡¡Private ITimeOut

¡¡¡¡Private IMode

¡¡¡¡Private IMessage

¡¡¡¡Private IHasError

¡¡¡¡Private IRedirect Public Property Let Window(ByVal Value)

¡¡¡¡IWindow = Value

¡¡¡¡End Property

¡¡¡¡Public Property Get Window()

¡¡¡¡Window = IWindow

¡¡¡¡End Property Public Property Let Target(ByVal Value)

¡¡¡¡ITarget = Value

¡¡¡¡End Property

¡¡¡¡Public Property Get Target()

¡¡¡¡Target = ITarget

¡¡¡¡End Property Public Property Let TimeOut(ByVal Value)

¡¡¡¡If IsNumeric(Value) Then

¡¡¡¡ITimeOut = CInt(Value)

¡¡¡¡Else

¡¡¡¡ITimeOut = 3000

¡¡¡¡End If

¡¡¡¡End Property

¡¡¡¡Public Property Get TimeOut()

¡¡¡¡TimeOut = ITimeOut

¡¡¡¡End Property Public Property Let Mode(ByVal Value)

¡¡¡¡If IsNumeric(Value) Then

¡¡¡¡IMode = CInt(Mode)

¡¡¡¡Else

¡¡¡¡IMode = 1

¡¡¡¡End If

¡¡¡¡End Property

¡¡¡¡Public Property Get Mode()

¡¡¡¡Mode = IMode

¡¡¡¡End Property Public Property Let Message(ByVal Value)

¡¡¡¡If IHasError Then

¡¡¡¡IMessage = IMessage & "<li>" & Value & "</li>" & vbCrLf

¡¡¡¡Else

¡¡¡¡IHasError = True

¡¡¡¡IMessage = "<li>" & Value & "</li>" & vbCrLf

¡¡¡¡End If

¡¡¡¡End Property

¡¡¡¡Public Property Get Message()

¡¡¡¡Message = IMessage

¡¡¡¡End Property Public Property Let HasError(ByVal Value)

¡¡¡¡IHasError = CBool(Value)

¡¡¡¡End Property

¡¡¡¡Public Property Get HasError()

¡¡¡¡HasError = IHasError

¡¡¡¡End Property Public Property Let Redirect(ByVal Value)

¡¡¡¡IRedirect = CBool(Value)

¡¡¡¡End Property

¡¡¡¡Public Property Get Redirect()

¡¡¡¡Redirect = IRedirect

¡¡¡¡End Property Private Sub Class_initialize()

¡¡¡¡With Me

¡¡¡¡.Window = "self"

¡¡¡¡.Target = PrePage()

¡¡¡¡.TimeOut = 3000

¡¡¡¡IMode = 1

¡¡¡¡IMessage = "³öÏÖ´íÎó£¬ÕýÔÚ·µ»Ø£¬ÇëÉÔºò..."

¡¡¡¡.HasError = False

¡¡¡¡.Redirect = True

¡¡¡¡End With

¡¡¡¡End Sub

¡¡¡¡Private Sub Class_Terminate()

¡¡¡¡End Sub Public Function PrePage()

¡¡¡¡If Request.ServerVariables("HTTP_REFERER") <> "" Then

¡¡¡¡PrePage = Request.ServerVariables("HTTP_REFERER")

¡¡¡¡Else

¡¡¡¡PrePage = "/index.asp"

¡¡¡¡End If

¡¡¡¡End Function Public Function Alert()

¡¡¡¡Dim words : words = Me.Message

¡¡¡¡words = Replace(words, "<li>", "\n")

¡¡¡¡words = Replace(words, "</li>", "")

¡¡¡¡words = Replace(words, vbCrLf, "")

¡¡¡¡words = "ÌáʾÐÅÏ¢£º\t\t\t" & words

¡¡¡¡%>

¡¡¡¡<script type="text/javascript">

¡¡¡¡<!--

¡¡¡¡alert("<%=words%>")

¡¡¡¡<%=Me.Window%>.location = "<%=Me.Target%>"

¡¡¡¡//-->

¡¡¡¡</script>

¡¡¡¡<%

¡¡¡¡End Function Public Sub Throw()

¡¡¡¡If Not HasError Then Exit Sub

¡¡¡¡Response.Clear()

¡¡¡¡Select Case CInt(Me.Mode)

¡¡¡¡Case 1

¡¡¡¡%>

¡¡¡¡<link href="/css/admin.css" rel="stylesheet" type="text/css">

¡¡¡¡<TABLE class="border-all" cellSpacing="1" cellPadding="5" width="50%" align="center" border="0">

¡¡¡¡<TBODY>

¡¡¡¡<TR>

¡¡¡¡<TH height="21" align="middle" background="images/th_bg.gif" class="title">ÌáʾÐÅÏ¢</TH>

¡¡¡¡</TR>

¡¡¡¡<TR>

¡¡¡¡<TD align="center" bgColor="#ffffff" height="40">

¡¡¡¡<TABLE cellSpacing="0" cellPadding="0" width="95%" border="0">

¡¡¡¡<TBODY>

¡¡¡¡<TR>

¡¡¡¡<TD height="5"></TD>

¡¡¡¡</TR>

¡¡¡¡<TR>

¡¡¡¡<TD><%=Me.Message%></TD>

¡¡¡¡</TR>

¡¡¡¡<TR>

¡¡¡¡<TD> </TD>

¡¡¡¡</TR>

¡¡¡¡<TR>

¡¡¡¡<TD align="center"><a href="javascript :history.back()">[·µ»Ø]</a> <a href="/">[Ê×Ò³]</a> </TD>

¡¡¡¡</TR>

¡¡¡¡</TBODY>

¡¡¡¡</TABLE>

¡¡¡¡</TD>

¡¡¡¡</TR>

¡¡¡¡</TBODY>

¡¡¡¡</TABLE>

¡¡¡¡<% If Redirect Then%> <script type="text/javascript">

¡¡¡¡<!--

¡¡¡¡setTimeout("<%=Me.Window%>.location='<%=Me.Target%>'",<%=Me.TimeOut%>)

¡¡¡¡//-->

¡¡¡¡</script><%end If%>

¡¡¡¡<%

¡¡¡¡Case 2

¡¡¡¡Call Alert()

¡¡¡¡Case Else

¡¡¡¡Response.Write Message

¡¡¡¡End Select

¡¡¡¡Response.End()

¡¡¡¡End Sub

¡¡¡¡End Class

¡¡¡¡%> Îļþ²Ù×÷ÀàFile£º

¡¡¡¡<%

¡¡¡¡Class File Private FSO

¡¡¡¡Private IPath

¡¡¡¡Private IContent Public Property Let Path(ByVal PPath)

¡¡¡¡IPath = PPath

¡¡¡¡End Property Public Property Get Path()

¡¡¡¡Path = IPath

¡¡¡¡End Property Public Property Let Content(ByVal PContent)

¡¡¡¡IContent = PContent

¡¡¡¡End Property Public Property Get Content()

¡¡¡¡Content = IContent

¡¡¡¡End Property Private Sub Class_Initialize()

¡¡¡¡Set FSO = Server.CreateObject("Scripting.FileSystemObject")

¡¡¡¡End Sub Private Sub Class_Terminate()

¡¡¡¡Set FSO = Nothing

¡¡¡¡End Sub Public Sub Save()

¡¡¡¡Dim f

¡¡¡¡Set f = FSO.OpenTextFile(Server.MapPath(Path), 2, true)

¡¡¡¡f.Write Content

¡¡¡¡End Sub End Class

¡¡¡¡%>

¡¡¡¡³£ÓõŤ¾ßÀàUtility£º

¡¡¡¡<%

¡¡¡¡Class Utility Private Reg Public Function HTMLEncode(Str)

¡¡¡¡If IsNull(Str) Or IsEmpty(Str) Or Str = "" Then

¡¡¡¡HTMLEncode = ""

¡¡¡¡Else

¡¡¡¡Dim S : S = Str

¡¡¡¡S = Replace(S, "<", "<")

¡¡¡¡S = Replace(S, ">", ">")

¡¡¡¡S = Replace(S, " ", " ")

¡¡¡¡S = Replace(S, vbCrLf, "<br />")

¡¡¡¡HTMLEncode = S

¡¡¡¡End If

¡¡¡¡End Function Public Function HtmlFilter(ByVal Code)

¡¡¡¡If IsNull(Code) Or IsEmpty(Code) Then Exit Function

¡¡¡¡With Reg

¡¡¡¡.Global = True

¡¡¡¡.Pattern = "<[^>]+?>"

¡¡¡¡End With

¡¡¡¡Code = Reg.Replace(Code, "")

¡¡¡¡HtmlFilter = Code

¡¡¡¡End Function Public Function Limit(ByVal Str, ByVal Num)

¡¡¡¡Dim StrLen : StrLen = Len(Str)

¡¡¡¡If StrLen * 2 <= Num Then

¡¡¡¡Limit = Str

¡¡¡¡Else

¡¡¡¡Dim StrRlen

¡¡¡¡Call Rlen(Str, StrRlen)

¡¡¡¡If StrRlen <= Num Then

¡¡¡¡Limit = Str

¡¡¡¡Else

¡¡¡¡Dim i

¡¡¡¡Dim reStr

¡¡¡¡If StrLen > Num * 2 Then

¡¡¡¡i = Num \ 2

¡¡¡¡reStr = Left(Str, i)

¡¡¡¡Call Rlen(reStr, StrRlen)

¡¡¡¡While StrRlen < Num

¡¡¡¡i = i + 1

¡¡¡¡reStr = Left(Str, i)

¡¡¡¡Call Rlen(reStr, StrRlen)

¡¡¡¡Wend

¡¡¡¡Else

¡¡¡¡i = StrLen

¡¡¡¡reStr = Str

¡¡¡¡Call Rlen(reStr, StrRlen)

¡¡¡¡While StrRlen > Num

¡¡¡¡i = i - 1

¡¡¡¡reStr = Left(Str, i)

¡¡¡¡Call Rlen(reStr, StrRlen)

¡¡¡¡Wend

¡¡¡¡End If

¡¡¡¡Call Rlen(Right(reStr, 1), StrRlen)

¡¡¡¡If StrRlen > 1 Then

¡¡¡¡Limit = Left(reStr, i-1) & "¡­"

¡¡¡¡Else

¡¡¡¡Limit = Left(reStr, i-2) & "¡­"

¡¡¡¡End If

¡¡¡¡End If

¡¡¡¡End If

¡¡¡¡End Function Public Function Encode(ByVal Str)

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

¡¡¡¡Str = Replace(Str, "'", "'")

¡¡¡¡Encode = Str

¡¡¡¡End Function Public Function EncodeAll(ByVal Str)

¡¡¡¡Dim M, MS

¡¡¡¡Reg.Pattern = "[\x00-\xFF]"

¡¡¡¡Set MS = Reg.Execute(Str)

¡¡¡¡For Each M In MS

¡¡¡¡Str = Replace(Str, M.Value, "&#" & Asc(M.Value) & ";")

¡¡¡¡Next

¡¡¡¡EncodeAll = Str

¡¡¡¡End Function

¡¡¡¡Private Sub Class_initialize()

¡¡¡¡Set Reg = New RegExp

¡¡¡¡Reg.Global = True

¡¡¡¡End Sub

¡¡¡¡Private Sub Class_Terminate()

¡¡¡¡Set Reg = Nothing

¡¡¡¡End Sub Public Sub Rlen(ByRef Str, ByRef Rl)

¡¡¡¡With Reg

¡¡¡¡.Pattern = "[^\x00-\xFF]"

¡¡¡¡Rl = Len(.Replace(Str, ".."))

¡¡¡¡End With

¡¡¡¡End Sub End Class

¡¡¡¡%>

¡¡¡¡<%

¡¡¡¡Dim Util : Set Util = New Utility

¡¡¡¡%> ÊäÈëÑéÖ¤ÀàValidator£º

¡¡¡¡<%@Language="VBScript" CodePage="936"%>

¡¡¡¡<%

¡¡¡¡'Option Explicit

¡¡¡¡Class Validator

¡¡¡¡'*************************************************

¡¡¡¡' Validator for ASP beta 3 ·þÎñÆ÷¶Ë½Å±¾

¡¡¡¡' code by ÎÒ·ðɽÈË

¡¡¡¡' [email protected]

¡¡¡¡'*************************************************

¡¡¡¡Private Re

¡¡¡¡Private ICodeName

¡¡¡¡Private ICodeSessionName Public Property Let CodeName(ByVal PCodeName)

¡¡¡¡ICodeName = PCodeName

¡¡¡¡End Property Public Property Get CodeName()

¡¡¡¡CodeName = ICodeName

¡¡¡¡End Property Public Property Let CodeSessionName(ByVal PCodeSessionName)

¡¡¡¡ICodeSessionName = PCodeSessionName

¡¡¡¡End Property Public Property Get CodeSessionName()

¡¡¡¡CodeSessionName = ICodeSessionName

¡¡¡¡End Property Private Sub Class_Initialize()

¡¡¡¡Set Re = New RegExp

¡¡¡¡Re.IgnoreCase = True

¡¡¡¡Re.Global = True

¡¡¡¡Me.CodeName = "vCode"

¡¡¡¡Me.CodeSessionName = "vCode"

¡¡¡¡End Sub Private Sub Class_Terminate()

¡¡¡¡Set Re = Nothing

¡¡¡¡End Sub Public Function IsEmail(ByVal Str)

¡¡¡¡IsEmail = Test("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", Str)

¡¡¡¡End Function Public Function IsUrl(ByVal Str)

¡¡¡¡IsUrl = Test("^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>""])*$", Str)

¡¡¡¡End Function Public Function IsNum(ByVal Str)

¡¡¡¡IsNum= Test("^\d+$", Str)

¡¡¡¡End Function Public Function IsQQ(ByVal Str)

¡¡¡¡IsQQ = Test("^[1-9]\d{4,8}$", Str)

¡¡¡¡End Function Public Function IsZip(ByVal Str)

¡¡¡¡IsZip = Test("^[1-9]\d{5}$", Str)

¡¡¡¡End Function Public Function IsIdCard(ByVal Str)

¡¡¡¡IsIdCard = Test("^\d{15}(\d{2}[A-Za-z0-9])?$", Str)

¡¡¡¡End Function Public Function IsChinese(ByVal Str)

¡¡¡¡IsChinese = Test("^[\u0391-\uFFE5]+$", Str)

¡¡¡¡End Function Public Function IsEnglish(ByVal Str)

¡¡¡¡IsEnglish = Test("^[A-Za-z]+$", Str)

¡¡¡¡End Function Public Function IsMobile(ByVal Str)

¡¡¡¡IsMobile = Test("^((\(\d{3}\))|(\d{3}\-))?13\d{9}$", Str)

¡¡¡¡End Function Public Function IsPhone(ByVal Str)

¡¡¡¡IsPhone = Test("^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$", Str)

¡¡¡¡End Function Public Function IsSafe(ByVal Str)

¡¡¡¡IsSafe = (Test("^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\""]*)|.{0,5})$|\s", Str) = False)

¡¡¡¡End Function Public Function IsNotEmpty(ByVal Str)

¡¡¡¡IsNotEmpty = LenB(Str) > 0

¡¡¡¡End Function Public Function IsDateFormat(ByVal Str, ByVal Format)

¡¡¡¡IF Not IsDate(Str) Then

¡¡¡¡IsDateFormat = False

¡¡¡¡Exit Function

¡¡¡¡End IF IF Format = "YMD" Then

¡¡¡¡IsDateFormat = Test("^((\d{4})|(\d{2}))([-./])(\d{1,2})\4(\d{1,2})$", Str)

¡¡¡¡Else

¡¡¡¡IsDateFormat = Test("^(\d{1,2})([-./])(\d{1,2})\\2((\d{4})|(\d{2}))$", Str)

¡¡¡¡End IF

¡¡¡¡End Function Public Function IsEqual(ByVal Src, ByVal Tar)

¡¡¡¡IsEqual = (Src = Tar)

¡¡¡¡End Function Public Function Compare(ByVal Op1, ByVal Operator, ByVal Op2)

¡¡¡¡Compare = False

¡¡¡¡IF Dic.Exists(Operator) Then

¡¡¡¡Compare = Eval(Dic.Item(Operator))

¡¡¡¡Elseif IsNotEmpty(Op1) Then

¡¡¡¡Compare = Eval(Op1 & Operator & Op2 )

¡¡¡¡End IF

¡¡¡¡End Function Public Function Range(ByVal Src, ByVal Min, ByVal Max)

¡¡¡¡Min = CInt(Min) : Max = CInt(Max)

¡¡¡¡Range = (Min < Src And Src < Max)

¡¡¡¡End Function Public Function Group(ByVal Src, ByVal Min, ByVal Max)

¡¡¡¡Min = CInt(Min) : Max = CInt(Max)

¡¡¡¡Dim Num : Num = UBound(Split(Src, ",")) + 1

¡¡¡¡Group = Range(Num, Min - 1, Max + 1)

¡¡¡¡End Function Public Function Custom(ByVal Str, ByVal Reg)

¡¡¡¡Custom = Test(Reg, Str)

¡¡¡¡End Function Public Function Limit(ByVal Str, ByVal Min, ByVal Max)

¡¡¡¡Min = CInt(Min) : Max = CInt(Max)

¡¡¡¡Dim L : L = Len(Str)

¡¡¡¡Limit = (Min <= L And L <= Max)

¡¡¡¡End Function Public Function LimitB(ByVal Str, ByVal Min, ByVal Max)

¡¡¡¡Min = CInt(Min) : Max = CInt(Max)

¡¡¡¡Dim L : L =bLen(Str)

¡¡¡¡LimitB = (Min <= L And L <= Max)

¡¡¡¡End Function Private Function Test(ByVal Pattern, ByVal Str)

¡¡¡¡If IsNull(Str) Or IsEmpty(Str) Then

¡¡¡¡Test = False

¡¡¡¡Else

¡¡¡¡Re.Pattern = Pattern

¡¡¡¡Test = Re.Test(CStr(Str))

¡¡¡¡End If

¡¡¡¡End Function Public Function bLen(ByVal Str)

¡¡¡¡bLen = Len(Replace(Str, "[^\x00-\xFF]", ".."))

¡¡¡¡End Function Private Function Replace(ByVal Str, ByVal Pattern, ByVal ReStr)

¡¡¡¡Re.Pattern = Pattern

¡¡¡¡Replace = Re.Replace(Str, ReStr)

¡¡¡¡End Function Private Function B2S(ByVal iStr)

¡¡¡¡Dim reVal : reVal= ""

¡¡¡¡Dim i, Code, nCode

¡¡¡¡For i = 1 to LenB(iStr)

¡¡¡¡Code = AscB(MidB(iStr, i, 1))

¡¡¡¡IF Code < &h80 Then

¡¡¡¡reVal = reVal & Chr(Code)

¡¡¡¡Else

¡¡¡¡nCode = AscB(MidB(iStr, i+1, 1))

¡¡¡¡reVal = reVal & Chr(CLng(Code) * &h100 + CInt(nCode))

¡¡¡¡i = i + 1

¡¡¡¡End IF

¡¡¡¡Next

¡¡¡¡B2S = reVal

¡¡¡¡End Function Public Function SafeStr(ByVal Name)

¡¡¡¡If IsNull(Name) Or IsEmpty(Name) Then

¡¡¡¡SafeStr = False

¡¡¡¡Else

¡¡¡¡SafeStr = Replace(Trim(Name), "(\s*and\s*\w*=\w*)|['%&<>=]", "")

¡¡¡¡End If

¡¡¡¡End Function Public Function SafeNo(ByVal Name)

¡¡¡¡If IsNull(Name) Or IsEmpty(Name) Then

¡¡¡¡SafeNo = 0

¡¡¡¡Else

¡¡¡¡SafeNo = (Replace(Trim(Name), "^[\D]*(\d+)[\D\d]*$", "$1"))

¡¡¡¡End If

¡¡¡¡End Function Public Function IsValidCode()

¡¡¡¡IsValidCode = ((Request.Form(Me.CodeName) = Session(Me.CodeSessionName)) AND Session(Me.CodeSessionName) <> "")

¡¡¡¡End Function Public Function IsValidPost()

¡¡¡¡Dim Url1 : Url1 = Cstr(Request.ServerVariables("HTTP_REFERER"))

¡¡¡¡Dim Url2 : Url2 = Cstr(Request.ServerVariables("SERVER_NAME"))

¡¡¡¡IsValidPost = (Mid(Url1, 8, Len(Url2)) = Url2)

¡¡¡¡End Function End Class

¡¡¡¡%>