表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于网页的设计和功能上的改进上。

Validator是基于JavaScript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证。因为是伪静态类,所以在调用时不需要实例化,直接以"类名+.语法+属性或方法名"来调用。此外,Validator还提供3种不同的错误提示模式,以满足不同的需要。

Validator目前可实现的验证类型有:
[JavaScript] 版
Validator目前可实现的验证类型有:
1.是否为空;
2.中文字符;
3.双字节字符
4.英文;
5.数字;
6.整数;
7.实数;
8.Email地址;
9.使用HTTP协议的网址;
10.电话号码;
11.货币;
12.手机号码;
13.邮政编码;
14.身份证号码(1.05增强);
15.QQ号码;
16.日期;
17.符合安全规则的密码;
18.某项的重复值;
19.两数的关系比较;
20.判断输入值是否在(n, m)区间;
21.输入字符长度限制(可按字节比较);
22.对于具有相同名称的单选按钮的选中判断;
23.限制具有相同名称的多选按钮的选中数目;
24.自定义的正则表达式验证;
25.文件上传格式过滤(1.04)
运行环境(客户端):
在Windows Server 2003下用IE6.0+SP1和Mozilla Firefox 1.0测试通过;
在Lunix RedHat 9下的Netscape测试通过;

对于客户端的表单验证,这个基于JavaScript编写的Validator基本上都可以满足,具体可以下载CHM文件:Validator.CHM下载

示例:

代码如下:

[Ctrl+A 全选 提示:你可先修改部分代码,再点运行代码]

更新历史:

1.01
修正对12月份的日期验证(感谢flylg999)

1.03
修正Range验证类型时将数字当字符串比较的bug(感谢cncom和xtlhnhbb)
修正日期验证(感谢Papsam)
增加Username验证类型
增加对Phone验证类型时支持分机号

1.04
增加文件格式的过滤,用于上传时限制上传的文件格式

1.05
增强对身份证号码的验证

[ASP]版代码拷贝框

  1表单验证 Validator v1.05<%
  2表单验证 Validator v1.05Class Validator
  3表单验证 Validator v1.05'*************************************************
  4表单验证 Validator v1.05'    Validator for ASP beta 2 服务器端脚本
  5表单验证 Validator v1.05'    code by 我佛山人
  6表单验证 Validator v1.05'    wfsr@cunite.com
  7表单验证 Validator v1.05'    http://www.cunite.com
  8表单验证 Validator v1.05'*************************************************
  9表单验证 Validator v1.05    Private Re, Dic
 10表单验证 Validator v1.05    Private Separator
 11表单验证 Validator v1.05    Private ErrorItem, ErrorMessage, ErrorMode, ErrorNo
 12表单验证 Validator v1.05    Private FormName, FormIndex, FilePath, GetMethod
 13表单验证 Validator v1.05
 14表单验证 Validator v1.05    Private Sub Class_Initialize()
 15表单验证 Validator v1.05        Set Re = New RegExp
 16表单验证 Validator v1.05        Re.IgnoreCase = True
 17表单验证 Validator v1.05        Re.Global = True
 18表单验证 Validator v1.05        Set Dic = CreateObject("Scripting.Dictionary")
 19表单验证 Validator v1.05        Separator = ","
 20表单验证 Validator v1.05        ErrorItem = ""
 21表单验证 Validator v1.05        ErrorMessage = ""
 22表单验证 Validator v1.05        ErrorMode = 5
 23表单验证 Validator v1.05        ErrorNo = 1
 24表单验证 Validator v1.05        FilePath = Server.MapPath(Request.ServerVariables("Script_Name"))
 25表单验证 Validator v1.05        GetMethod = "FSO"
 26表单验证 Validator v1.05    End Sub
 27表单验证 Validator v1.05
 28表单验证 Validator v1.05    Private Sub Class_Terminate()
 29表单验证 Validator v1.05        Set Re = Nothing
 30表单验证 Validator v1.05        Dic.RemoveAll()
 31表单验证 Validator v1.05        Set Dic = Nothing
 32表单验证 Validator v1.05    End Sub
 33表单验证 Validator v1.05
 34表单验证 Validator v1.05    Public Sub Validate()
 35表单验证 Validator v1.05        IF Request("Submit")="" Then    Exit Sub
 36表单验证 Validator v1.05        IF Not IsValidPost() Then    Exit Sub
 37表单验证 Validator v1.05
 38表单验证 Validator v1.05        With Dic
 39表单验证 Validator v1.05            .Add "Compare""Compare( PostValue, operator, toObj)"
 40表单验证 Validator v1.05            .Add "Custom""Custom( PostValue,regexp )"
 41表单验证 Validator v1.05            .Add "Date""IsDateFormat( PostValue,format )"
 42表单验证 Validator v1.05            .Add "Limit""Limit( PostValue,min, max )"
 43表单验证 Validator v1.05            .Add "LimitB""LimitB( PostValue,min, max )"
 44表单验证 Validator v1.05            .Add "Range""Range( PostValue,min, max )"
 45表单验证 Validator v1.05            .Add "Repeat""IsEqual( PostValue, Request(toObj) )"
 46表单验证 Validator v1.05            .Add "Group""Group( PostValue,min, max )"
 47表单验证 Validator v1.05
 48表单验证 Validator v1.05            .Add "NotEqual""Op1 <> Op2"
 49表单验证 Validator v1.05            .Add "GreaterThan""Op1 > Op2"
 50表单验证 Validator v1.05            .Add "GreaterThanEqual""Op1 >= Op2"
 51表单验证 Validator v1.05            .Add "LessThan""Op1 < Op2"
 52表单验证 Validator v1.05            .Add "LessThanEqual""Op1 <= Op2"
 53表单验证 Validator v1.05            .Add "Equal""Op1 = Op2"
 54表单验证 Validator v1.05        End With
 55表单验证 Validator v1.05
 56表单验证 Validator v1.05        Call MatchCode()
 57表单验证 Validator v1.05
 58表单验证 Validator v1.05        IF ErrorMessage <> "" Then DisplayError
 59表单验证 Validator v1.05    End Sub
 60表单验证 Validator v1.05
 61表单验证 Validator v1.05    Private Sub MatchCode()
 62表单验证 Validator v1.05        Dim bI, bG, bM
 63表单验证 Validator v1.05        Dim Str
 64表单验证 Validator v1.05
 65表单验证 Validator v1.05        Select Case GetMethod
 66表单验证 Validator v1.05            Case "FSO" :
 67表单验证 Validator v1.05                Dim FSO : Set FSO = Server.CreateObject("Scripting.FileSystemObject")
 68表单验证 Validator v1.05                Set TS = FSO.OpenTextFile(FilePath, 1false)
 69表单验证 Validator v1.05                Str = TS.ReadAll()
 70表单验证 Validator v1.05                TS.Close
 71表单验证 Validator v1.05                Set TS = Nothing
 72表单验证 Validator v1.05                Set FSO = Nothing
 73表单验证 Validator v1.05            Case "XMLHTTP" :
 74表单验证 Validator v1.05                Dim XHttp : Set XHttp = Server.CreateObject("MSXML2.XMLHTTP")
 75表单验证 Validator v1.05                With XHttp
 76表单验证 Validator v1.05                    Call .Open("Get""http://"&Request.ServerVariables("Server_Name")&Request.ServerVariables("Script_Name"), False)
 77表单验证 Validator v1.05                    Call .Send()
 78表单验证 Validator v1.05                    Str =B2S(.responseBody)
 79表单验证 Validator v1.05                End With
 80表单验证 Validator v1.05                Set XHttp = Nothing
 81表单验证 Validator v1.05        End Select
 82表单验证 Validator v1.05        Dim itemString
 83表单验证 Validator v1.05        With Re
 84表单验证 Validator v1.05            bI = .IgnoreCase
 85表单验证 Validator v1.05            bG = .Global
 86表单验证 Validator v1.05            bM = .MultiLine
 87表单验证 Validator v1.05            .IgnoreCase = True
 88表单验证 Validator v1.05            .Global = True
 89表单验证 Validator v1.05            .Pattern = "[\s\S]*<form [^>]+>([\s\S]+)<\/form>[\s\S]*"
 90表单验证 Validator v1.05            Str = .Replace(Str, "$1")
 91表单验证 Validator v1.05
 92表单验证 Validator v1.05            .Global = True
 93表单验证 Validator v1.05            .MultiLine = True
 94表单验证 Validator v1.05            .Pattern = "<\/?(?!input|textarea|select)[^>]*>"
 95表单验证 Validator v1.05            Str = .Replace(Str, "")
 96表单验证 Validator v1.05
 97表单验证 Validator v1.05            .Pattern = "^.*(<(?=input|textarea|select)[^>]*>).*$"
 98表单验证 Validator v1.05            Str = .Replace(Str, "$1")
 99表单验证 Validator v1.05
100表单验证 Validator v1.05            .Pattern = "([\r\n]+|^\s*)(?=<)"
101表单验证 Validator v1.05            Str = .Replace(Str, "")
102表单验证 Validator v1.05            While Test("dataType=([""\'])([^""\'>]+)\1", Str)
103表单验证 Validator v1.05                .MultiLine = False
104表单验证 Validator v1.05                .Pattern = "^([^\n]+)\n([\s\S]*)$"
105表单验证 Validator v1.05                itemString = .Replace(Str, "$1")
106表单验证 Validator v1.05                Str = .Replace(Str, "$2")
107表单验证 Validator v1.05                .Pattern = "(name|dataType|to1|min|max|msg|require|regexp|format)=([""\'])([^""\'>]+)\2"
108表单验证 Validator v1.05
109表单验证 Validator v1.05                Dim Matches : Set Matches = .Execute(itemString)
110表单验证 Validator v1.05                Dim Match, RetStr : RetStr = ""
111表单验证 Validator v1.05                   For Each Match in Matches
112表单验证 Validator v1.05                      RetStr = RetStr & Match.Value & " : "
113表单验证 Validator v1.05                   Next
114表单验证 Validator v1.05                Call IsValid(Replace(Replace(Replace(RetStr, " : $"""), "to=""toObj="), """Require""""""NotEmpty"""))
115表单验证 Validator v1.05            Wend
116表单验证 Validator v1.05            .IgnoreCase = bI
117表单验证 Validator v1.05            .Global = bG
118表单验证 Validator v1.05            .MultiLine = bM
119表单验证 Validator v1.05
120表单验证 Validator v1.05        End With
121表单验证 Validator v1.05    End Sub
122表单验证 Validator v1.05
123表单验证 Validator v1.05    Private Sub IsValid(ByVal Str)
124表单验证 Validator v1.05        Dim name, msg, dataType, toObj, min, max, require, regexp, format
125表单验证 Validator v1.05        min = 1 : max = 100 : require = "true" : format = "YMD"
126表单验证 Validator v1.05        Execute Str
127表单验证 Validator v1.05        Dim PostValue : PostValue = Request(name)
128表单验证 Validator v1.05        Dim Fun
129表单验证 Validator v1.05        
130表单验证 Validator v1.05        IF require = "false" AND PostValue = "" Then Exit Sub
131表单验证 Validator v1.05
132表单验证 Validator v1.05        IF Dic.Exists(dataType) Then    
133表单验证 Validator v1.05            Fun = Dic.Item(dataType) 
134表单验证 Validator v1.05        Else Fun = "Is" & dataType &"( PostValue )"
135表单验证 Validator v1.05        End IF
136表单验证 Validator v1.05
137表单验证 Validator v1.05        IF Not Eval(Fun) Then Call AddError(name,msg)
138表单验证 Validator v1.05    End Sub
139表单验证 Validator v1.05
140表单验证 Validator v1.05    Private Sub DisplayError()
141表单验证 Validator v1.05        ErrorItem = Replace(ErrorItem, "^(" & Separator & ")""")
142表单验证 Validator v1.05        ErrorMessage = Replace(ErrorMessage, "^(" & Separator & ")""")
143表单验证 Validator v1.05        Select Case ErrorMode
144表单验证 Validator v1.05            Case 4 
145表单验证 Validator v1.05                ErrorMessage = Join(Split(ErrorMessage, Separator), "</li><li>")
146表单验证 Validator v1.05                Response.Clear
147表单验证 Validator v1.05                Response.Write "<div style=""padding-left:100px;font:bold 12px Tahoma"">输入有错误:<br><ul><li>" & Replace(ErrorMessage, "\b\d+:"""& "</li></ul>"
148表单验证 Validator v1.05                Response.Write "<br><a href='javascript:history.back()'>返回重填</a></div>"
149表单验证 Validator v1.05                Response.End
150表单验证 Validator v1.05            Case Else
151表单验证 Validator v1.05                Response.Write("<script defer>dispError(""" & ErrorItem & """, """ & ErrorMessage & """, " & ErrorMode & ", """ & Separator & """)</script>")
152表单验证 Validator v1.05        End Select
153表单验证 Validator v1.05    End Sub
154表单验证 Validator v1.05
155表单验证 Validator v1.05    Public Function IsEmail(ByVal Str)
156表单验证 Validator v1.05        IsEmail = Test("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", Str)
157表单验证 Validator v1.05    End Function
158表单验证 Validator v1.05
159表单验证 Validator v1.05    Public Function IsUrl(ByVal Str)
160表单验证 Validator v1.05        IsUrl = Test("^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>""])*$", Str)
161表单验证 Validator v1.05    End Function
162表单验证 Validator v1.05
163表单验证 Validator v1.05    Public Function IsNum(ByVal Str)
164表单验证 Validator v1.05        IsNum= Test("^\d+$", Str)
165表单验证 Validator v1.05    End Function
166表单验证 Validator v1.05
167表单验证 Validator v1.05    Public Function IsQQ(ByVal Str)
168表单验证 Validator v1.05        IsQQ = Test("^[1-9]\d{4,8}$", Str)
169表单验证 Validator v1.05    End Function
170表单验证 Validator v1.05
171表单验证 Validator v1.05    Public Function IsZip(ByVal Str)
172表单验证 Validator v1.05        IsZip = Test("^[1-9]\d{5}$", Str)
173表单验证 Validator v1.05    End Function
174表单验证 Validator v1.05
175表单验证 Validator v1.05    Public Function IsIdCard(ByVal Str)
176表单验证 Validator v1.05        IsIdCard = Test("^\d{15}(\d{2}[A-Za-z0-9])?$", Str)
177表单验证 Validator v1.05    End Function
178表单验证 Validator v1.05
179表单验证 Validator v1.05    Public Function IsChinese(ByVal Str)
180表单验证 Validator v1.05        IsChinese = Test("^[\u0391-\uFFE5]+$", Str)
181表单验证 Validator v1.05    End Function
182表单验证 Validator v1.05
183表单验证 Validator v1.05    Public Function IsEnglish(ByVal Str)
184表单验证 Validator v1.05        IsEnglish = Test("^[A-Za-z]+$", Str)
185表单验证 Validator v1.05    End Function
186表单验证 Validator v1.05
187表单验证 Validator v1.05    Public Function IsMobile(ByVal Str)
188表单验证 Validator v1.05        IsMobile = Test("^((\(\d{3}\))|(\d{3}\-))?13\d{9}$", Str)
189表单验证 Validator v1.05    End Function
190表单验证 Validator v1.05
191表单验证 Validator v1.05    Public Function IsPhone(ByVal Str)
192表单验证 Validator v1.05        IsPhone = Test("^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$", Str)
193表单验证 Validator v1.05    End Function
194表单验证 Validator v1.05
195表单验证 Validator v1.05    Public Function IsSafe(ByVal Str)
196表单验证 Validator v1.05        IsSafe = (Test("^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\""]*)|.{0,5})$|\s", Str) = False)
197表单验证 Validator v1.05    End Function
198表单验证 Validator v1.05
199表单验证 Validator v1.05    Public Function IsNotEmpty(ByVal Str)
200表单验证 Validator v1.05        IsNotEmpty = LenB(Str) > 0
201表单验证 Validator v1.05    End Function
202表单验证 Validator v1.05
203表单验证 Validator v1.05    Public Function IsDateFormat(ByVal Str, ByVal Format)
204表单验证 Validator v1.05        IF Not IsDate(Str) Then
205表单验证 Validator v1.05            IsDateFormat = False
206表单验证 Validator v1.05            Exit Function
207表单验证 Validator v1.05        End IF
208表单验证 Validator v1.05
209表单验证 Validator v1.05        IF Format = "YMD" Then
210表单验证 Validator v1.05            IsDateFormat = Test("^((\d{4})|(\d{2}))([-./])(\d{1,2})\4(\d{1,2})$", Str)
211表单验证 Validator v1.05        Else 
212表单验证 Validator v1.05            IsDateFormat = Test("^(\d{1,2})([-./])(\d{1,2})\\2((\d{4})|(\d{2}))$", Str)
213表单验证 Validator v1.05        End IF
214表单验证 Validator v1.05    End Function
215表单验证 Validator v1.05
216表单验证 Validator v1.05    Public Function IsEqual(ByVal Src, ByVal Tar)
217表单验证 Validator v1.05        IsEqual = (Src = Tar)
218表单验证 Validator v1.05    End Function
219表单验证 Validator v1.05
220表单验证 Validator v1.05    Public Function Compare(ByVal Op1, ByVal Operator, ByVal Op2)
221表单验证 Validator v1.05        Compare = False
222表单验证 Validator v1.05        IF Dic.Exists(Operator) Then
223表单验证 Validator v1.05            Compare = Eval(Dic.Item(Operator))
224表单验证 Validator v1.05            Elseif IsNotEmpty(Op1) Then
225表单验证 Validator v1.05                Compare = Eval(Op1 &  Operator & Op2 )
226表单验证 Validator v1.05        End IF
227表单验证 Validator v1.05    End Function
228表单验证 Validator v1.05
229表单验证 Validator v1.05    Public Function Range(ByVal Src, ByVal Min, ByVal Max)
230表单验证 Validator v1.05        Min = CInt(Min) : Max = CInt(Max)
231表单验证 Validator v1.05        Range = (Min < Src And Src < Max)
232表单验证 Validator v1.05    End Function
233表单验证 Validator v1.05
234表单验证 Validator v1.05    Public Function Group(ByVal Src, ByVal Min, ByVal Max)
235表单验证 Validator v1.05        Min = CInt(Min) : Max = CInt(Max)
236表单验证 Validator v1.05        Dim Num : Num = UBound(Split(Src, ",")) + 1
237表单验证 Validator v1.05        Group = Range(Num, Min - 1, Max + 1)
238表单验证 Validator v1.05    End Function
239表单验证 Validator v1.05
240表单验证 Validator v1.05    Public Function Custom(ByVal Str, ByVal Reg)
241表单验证 Validator v1.05        Custom = Test(Reg, Str)
242表单验证 Validator v1.05    End Function
243表单验证 Validator v1.05
244表单验证 Validator v1.05    Public Function Limit(ByVal Str, ByVal Min, ByVal Max)
245表单验证 Validator v1.05        Min = CInt(Min) : Max = CInt(Max)
246表单验证 Validator v1.05        Dim L : L = Len(Str)
247表单验证 Validator v1.05        Limit = (Min <= L And L <= Max)
248表单验证 Validator v1.05    End Function
249表单验证 Validator v1.05
250表单验证 Validator v1.05    Public Function LimitB(ByVal Str, ByVal Min, ByVal Max)
251表单验证 Validator v1.05        Min = CInt(Min) : Max = CInt(Max)
252表单验证 Validator v1.05        Dim L : L =bLen(Str)
253表单验证 Validator v1.05        LimitB = (Min <= L And L <= Max)
254表单验证 Validator v1.05    End Function
255表单验证 Validator v1.05
256表单验证 Validator v1.05    Private Function Test(ByVal Pattern, ByVal Str)
257表单验证 Validator v1.05        Re.Pattern = Pattern
258表单验证 Validator v1.05        Test = Re.Test(Str)
259表单验证 Validator v1.05    End Function
260表单验证 Validator v1.05
261表单验证 Validator v1.05    Public Function bLen(ByVal Str)
262表单验证 Validator v1.05        bLen = Len(Replace(Str, "[^\x00-\xFF]"".."))
263表单验证 Validator v1.05    End Function
264表单验证 Validator v1.05
265表单验证 Validator v1.05    Private Function Replace(ByVal Str, ByVal Pattern, ByVal ReStr)
266表单验证 Validator v1.05        Re.Pattern = Pattern
267表单验证 Validator v1.05        Replace =     Re.Replace(Str, ReStr)
268表单验证 Validator v1.05    End Function
269表单验证 Validator v1.05
270表单验证 Validator v1.05    Private Function B2S(ByVal iStr) 
271表单验证 Validator v1.05        Dim reVal : reVal= ""
272表单验证 Validator v1.05        Dim i, Code, nCode
273表单验证 Validator v1.05        For i = 1 to LenB(iStr) 
274表单验证 Validator v1.05            Code = AscB(MidB(iStr, i, 1)) 
275表单验证 Validator v1.05            IF Code < &h80 Then 
276表单验证 Validator v1.05                reVal = reVal & Chr(Code) 
277表单验证 Validator v1.05            Else 
278表单验证 Validator v1.05                nCode = AscB(MidB(iStr, i+11)) 
279表单验证 Validator v1.05                reVal = reVal & Chr(CLng(Code) * &h100 + CInt(nCode)) 
280表单验证 Validator v1.05                i = i + 1 
281表单验证 Validator v1.05            End IF 
282表单验证 Validator v1.05        Next
283表单验证 Validator v1.05        B2S = reVal 
284表单验证 Validator v1.05    End Function
285表单验证 Validator v1.05
286表单验证 Validator v1.05    Private Sub AddError(ByVal Name, ByVal Message)
287表单验证 Validator v1.05        ErrorItem = ErrorItem & Separator & Name
288表单验证 Validator v1.05        ErrorMessage = ErrorMessage & Separator & ErrorNo & ":" & Message
289表单验证 Validator v1.05        ErrorNo = ErrorNo + 1
290表单验证 Validator v1.05    End Sub
291表单验证 Validator v1.05
292表单验证 Validator v1.05    Public Function IsValidPost()
293表单验证 Validator v1.05        Dim Url1 : Url1 = Cstr(Request.ServerVariables("HTTP_REFERER"))
294表单验证 Validator v1.05        Dim Url2 : Url2 = Cstr(Request.ServerVariables("SERVER_NAME"))
295表单验证 Validator v1.05        IsValidPost = (Mid(Url1, 8Len(Url2)) = Url2)
296表单验证 Validator v1.05    End Function
297表单验证 Validator v1.05
298表单验证 Validator v1.05    Public Property Let Mode(ByVal Val)
299表单验证 Validator v1.05        ErrorMode = CInt(Val)
300表单验证 Validator v1.05    End Property
301表单验证 Validator v1.05
302表单验证 Validator v1.05    Public Property Let Form(ByVal Val)
303表单验证 Validator v1.05        IF IsNumeric(Val) Then
304表单验证 Validator v1.05            FormIndex = Val
305表单验证 Validator v1.05        Else
306表单验证 Validator v1.05            FormName = Val
307表单验证 Validator v1.05        End IF
308表单验证 Validator v1.05    End Property
309表单验证 Validator v1.05
310表单验证 Validator v1.05    Public Property Let Path(ByVal Val)
311表单验证 Validator v1.05        IF Test("^[A-Za-z]:\\\w+$", Val) Then
312表单验证 Validator v1.05            FilePath = Val
313表单验证 Validator v1.05        Else
314表单验证 Validator v1.05            FilePath = Server.MapPath(Val)
315表单验证 Validator v1.05        End IF
316表单验证 Validator v1.05    End Property
317表单验证 Validator v1.05
318表单验证 Validator v1.05    Public Property Let Method(ByVal Val)
319表单验证 Validator v1.05        GetMethod = Val
320表单验证 Validator v1.05    End Property
321表单验证 Validator v1.05End Class
322表单验证 Validator v1.05%>
323表单验证 Validator v1.05 <title>表单验证类 Validator v1.0</title>
324表单验证 Validator v1.05 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
325表单验证 Validator v1.05 <style>
326表单验证 Validator v1.05 body,td{font:normal 12px Verdana;color:#333333}
327表单验证 Validator v1.05 input,textarea,select,td{font:normal 12px Verdana;color:#333333;border:1px solid #999999;background:#ffffff}
328表单验证 Validator v1.05 table{border-collapse:collapse;}
329表单验证 Validator v1.05 td{padding:3px}
330表单验证 Validator v1.05 input{height:20;}
331表单验证 Validator v1.05 textarea{width:80%;height:50px;overfmin:auto;}
332表单验证 Validator v1.05 form{display:inline}
333表单验证 Validator v1.05 </style>
334表单验证 Validator v1.05 <script>
335表单验证 Validator v1.05 /*************************************************
336表单验证 Validator v1.05    Validator for ASP beta 2 客户端脚本
337表单验证 Validator v1.05    code by 我佛山人
338表单验证 Validator v1.05    wfsr@cunite.com
339表单验证 Validator v1.05    http://www.cunite.com
340表单验证 Validator v1.05*************************************************/
341表单验证 Validator v1.05 function dispError(items, messages, mode, separator){
342表单验证 Validator v1.05    var iArray = items.split(separator);
343表单验证 Validator v1.05    for(var i=iArray.length-1;i>=0;i--)
344表单验证 Validator v1.05        iArray[i] = getObj(iArray[i]);
345表单验证 Validator v1.05    messages = ("以下原因导致提交失败:\t\t\t\t" + separator + messages).split(separator);
346表单验证 Validator v1.05    switch(mode){
347表单验证 Validator v1.05        case 2 :
348表单验证 Validator v1.05            for(i=iArray.length-1;i>=0;i--)
349表单验证 Validator v1.05                iArray[i].style.color = "red";
350表单验证 Validator v1.05        case 1 :
351表单验证 Validator v1.05            alert(messages.join("\n"));
352表单验证 Validator v1.05            iArray[0].focus();
353表单验证 Validator v1.05            break;
354表单验证 Validator v1.05        case 3 :
355表单验证 Validator v1.05            for(i=iArray.length-1;i>=0;i--){
356表单验证 Validator v1.05                try{
357表单验证 Validator v1.05                    var span = document.createElement("SPAN");
358表单验证 Validator v1.05                    span.id = "__ErrorMessagePanel";
359表单验证 Validator v1.05                    span.style.color = "red";
360表单验证 Validator v1.05                    iArray[i].parentNode.appendChild(span);
361表单验证 Validator v1.05                    span.innerHTML = messages[i+1].replace(/\d+:/,"*");
362表单验证 Validator v1.05                }
363表单验证 Validator v1.05                catch(e){alert(e.description);}
364表单验证 Validator v1.05            }
365表单验证 Validator v1.05            iArray[0].focus();
366表单验证 Validator v1.05            break;
367表单验证 Validator v1.05    }
368表单验证 Validator v1.05 }
369表单验证 Validator v1.05
370表单验证 Validator v1.05 function getObj(name){
371表单验证 Validator v1.05    var objs = document.getElementsByName(name);
372表单验证 Validator v1.05    return objs[objs.length -1];
373表单验证 Validator v1.05 }
374表单验证 Validator v1.05</script>
375表单验证 Validator v1.05 <form name="theForm" id="demo" action="" method="post" onSubmit="return true">
376表单验证 Validator v1.05 <table align="center">
377表单验证 Validator v1.05    <tr>
378表单验证 Validator v1.05   <td>真实姓名:</td><td><input name="Name" dataType="Chinese" msg="真实姓名只允许中文"></td>
379表单验证 Validator v1.05  </tr>
380表单验证 Validator v1.05  <tr>
381表单验证 Validator v1.05   <td>英文名:</td><td><input name="Nick" dataType="English" require="false" msg="英文名只允许英文字母"></td>
382表单验证 Validator v1.05  </tr>
383表单验证 Validator v1.05    <tr>
384表单验证 Validator v1.05   <td>主页:</td><td><input name="Homepage" require="false" dataType="Url"   msg="非法的Url"></td>
385表单验证 Validator v1.05  </tr>
386表单验证 Validator v1.05  <tr>
387表单验证 Validator v1.05   <td>密码:</td><td><input name="Password" dataType="Safe"   msg="密码不符合安全规则" type="password"></td>
388表单验证 Validator v1.05  </tr>
389表单验证 Validator v1.05  <tr>
390表单验证 Validator v1.05   <td>重复:</td><td><input name="Repeat" dataType="Repeat" to="Password" msg="两次输入的密码不一致" type="password"></td>
391表单验证 Validator v1.05  </tr>
392表单验证 Validator v1.05  <tr>
393表单验证 Validator v1.05   <td>信箱:</td><td><input name="Email" dataType="Email" msg="信箱格式不正确"></td>
394表单验证 Validator v1.05  </tr>
395表单验证 Validator v1.05    <tr>
396表单验证 Validator v1.05   <td>信箱:</td><td><input name="Email1" dataType="Repeat" to="Email" msg="两次输入的信箱不一致"></td>
397表单验证 Validator v1.05  </tr>
398表单验证 Validator v1.05  <tr>
399表单验证 Validator v1.05   <td>QQ:</td><td><input name="QQ" require="false" dataType="QQ" msg="QQ号码不存在"></td>
400表单验证 Validator v1.05  </tr>
401表单验证 Validator v1.05    <tr>
402表单验证 Validator v1.05   <td>身份证:</td><td><input name="Card" dataType="IdCard" msg="身份证号码不正确"></td>
403表单验证 Validator v1.05  </tr>
404表单验证 Validator v1.05  <tr>
405表单验证 Validator v1.05   <td>年龄:</td><td><input name="Year" dataType="Range" msg="年龄必须在18~28之间" min="18" max="28"></td>
406表单验证 Validator v1.05  </tr>
407表单验证 Validator v1.05   <tr>
408表单验证 Validator v1.05   <td>年龄1:</td><td><input name="Year1" require="false" dataType="Compare" msg="年龄必须在18以上" to1="18" operator="GreaterThanEqual"></td>
409表单验证 Validator v1.05  </tr>
410表单验证 Validator v1.05   <tr>
411表单验证 Validator v1.05   <td>电话:</td><td><input name="Phone" require="false" dataType="Phone" msg="电话号码不正确"></td>
412表单验证 Validator v1.05  </tr>
413表单验证 Validator v1.05   <tr>
414表单验证 Validator v1.05   <td>手机:</td><td><input name="Mobile" require="false" dataType="Mobile" msg="手机号码不正确"></td>
415表单验证 Validator v1.05  </tr>
416表单验证 Validator v1.05     <tr>
417表单验证 Validator v1.05   <td>生日:</td><td><input name="Birthday" dataType="Date" format="YMD" msg="生日日期不存在"></td>
418表单验证 Validator v1.05  </tr>
419表单验证 Validator v1.05   <tr>
420表单验证 Validator v1.05   <td>邮政编码:</td><td><input name="Zip" dataType="Custom" regexp="^[1-9]\d{5}$" msg="邮政编码不存在"></td>
421表单验证 Validator v1.05  </tr>
422表单验证 Validator v1.05  <tr>
423表单验证 Validator v1.05   <td>邮政编码:</td><td><input name="Zip1" dataType="Zip" msg="邮政编码不存在"></td>
424表单验证 Validator v1.05  </tr>
425表单验证 Validator v1.05  <tr>
426表单验证 Validator v1.05   <td>操作系统:</td><td><select name="OS" dataType="Require"  msg="未选择所用操作系统" ><option value="">选择您所用的操作系统</option><option value="Win98">Win98</option><option value="Win2k">Win2k</option><option value="WinXP">WinXP</option></select></td>
427表单验证 Validator v1.05  </tr>
428表单验证 Validator v1.05  <tr>
429表单验证 Validator v1.05   <td>所在省份:</td><td>广东<input name="Province" value="1" type="radio">陕西<input name="Province" value="2" type="radio">浙江<input name="Province" value="3" type="radio">江西<input name="Province" value="4" type="radio" dataType="Group"  msg="必须选定一个省份"></td>
430表单验证 Validator v1.05  </tr>
431表单验证 Validator v1.05  <tr>
432表单验证 Validator v1.05   <td>爱好:</td><td>运动<input name="Favorite" value="1" type="checkbox">上网<input name="Favorite" value="2" type="checkbox">听音乐<input name="Favorite" value="3" type="checkbox">看书<input name="Favorite" value="4" type="checkbox" dataType="Group" min="2" max="3"  msg="必须选择2~3种爱好"></td>
433表单验证 Validator v1.05  </tr>
434表单验证 Validator v1.05  <tr>
435表单验证 Validator v1.05   <td>自我介绍:</td><td><textarea name="Description" dataType="Limit" max="10"  msg="自我介绍内容必须在10个字之内">中文是一个字</textarea></td>
436表单验证 Validator v1.05  </tr>
437表单验证 Validator v1.05  <tr>
438表单验证 Validator v1.05     <td>自传:</td><td><textarea name="History" dataType="LimitB" min="3" max="10"  msg="自传内容必须在[3~10]个字节之内">中文是两个字节t</textarea></td>
439表单验证 Validator v1.05  </tr>
440表单验证 Validator v1.05  <tr>
441表单验证 Validator v1.05   <td colspan="2"><input name="Submit" type="submit" value="确定提交"></td>
442表单验证 Validator v1.05  </tr>
443表单验证 Validator v1.05 </table>
444表单验证 Validator v1.05</form>
445表单验证 Validator v1.05<%
446表单验证 Validator v1.05    Dim V : Set V = New Validator
447表单验证 Validator v1.05    V.Mode = 3
448表单验证 Validator v1.05    V.Method = "XMLHTTP"
449表单验证 Validator v1.05    V.Validate()
450表单验证 Validator v1.05    Set V = Nothing
451表单验证 Validator v1.05%>
452表单验证 Validator v1.05</body>
453表单验证 Validator v1.05</html>


 

相关文章:

  • 2022-12-23
  • 2021-09-22
  • 2021-06-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-02
猜你喜欢
  • 2022-12-23
  • 2021-07-19
  • 2021-06-28
  • 2021-12-25
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案