|
|
|
|
你现在的位置:您现在的位置是: 中国ASP>>ASP教程>>asp类 |
|
| 输入验证类Validator |
|
输入验证类Validator: <%@Language="VBScript" CodePage="936"%> <% ''Option Explicit Class Validator ''************************************************* '' Validator for ASP beta 3 服务器端脚本 '' code by 我佛山人 '' wfsr@cunite.com ''************************************************* 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 %>
相关标签:输入验证
|
|
|