加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

输入验证类Validator - ASP教程

发布时间:2016-08-14 23:40:43 所属栏目:Asp教程 来源:站长网
导读:%@Language=VBScript CodePage=936% % ''Option Explicit Class Validator ''************************************************* '' Validator for ASP beta 3
<%@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}-))?13d{9}$", Str)
End Function

Public Function IsPhone(ByVal Str)
IsPhone = Test("^(((d{3}))|(d{3}-))?((0d{2,3})|0d{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*ands*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+)[Dd]*$", "$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
%>

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读