经典的表单验证效果
验证功能如下:
1. 当表单输入元素在获得焦点时出现信息提示
2. 当表单输入元素在失去焦点时进行验证
3. 表单提交时进行整个表单的验证.
验证效果如下:
1. 获得焦点的状态
2. 失去焦点验证失败的样式
3. 失去焦点验证成功的样式
4. 没有输入内容直接单击提交按钮时进行验证的状态
其中包含了两个源文件,一个是checkform.js文件,一个包含了表单html文件
里面有几个重点吧.不过对高手来说是小事一桩了.
1.getElementById
var obj=document.getElementById(_obj.id);
var info=document.getElementById(_obj.id+"info");
获得验证的表单元素,传递的时候使用this,接收过来的自然就是对象了.
2.正则表达式
自已找合适的啦.择日会贴些常用的与大家分享
3.info.innerHTML = "xxxx"
向指定的结点中插入验证状态信息
4.info.style.color = 'blue';
改变指定的样式,如果指定样式的话就使用info.className = "";
5.返回值的使用
1
function checkform(frm){
2
var refalg=false;
3
var f1,f2,f3,f4,f5;
4
f1 = isEmpty(frm.UserName,1)
5
f2 = isEmail(frm.Email,1,1)
6
f3 = isEmail(frm.reEmail,0,1)
7
f4 = isPostCode(frm.PostCode,1)
8
f5 = isPhone(frm.Tell,1)
9 refalg = f1 && f2 && f3 && f4 && f5
10
alert(refalg)
11
return refalg;
12
}

2

3

4

5

6

7

8

9 refalg = f1 && f2 && f3 && f4 && f5
10

11

12

js文件代码如下:


















































































































HTML代码如下:
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
5
<title>表单验证实例</title>
6
<script language="javascript" src="checkform.js"></script>
7
<style>
8
body { text-align:center; font-size:14px;}
9
table {border:1px solid #CCCCCC;width:80%; text-align:left;}
10
input { line-height:20px; border:1px solid #000000;}
11
td { height:20px; padding:4px;}
12
.right{ text-align:right;}
13
.title{ font-size:14px; background-color:#CCCCCC; font-weight:bold; height:20px;}
14
</style>
15
<script language="javascript">
16
function checkform(frm){
17
var refalg=false;
18
var f1,f2,f3,f4,f5;
19
f1 = isEmpty(frm.UserName,1)
20
f2 = isEmail(frm.Email,1,1)
21
f3 = isEmail(frm.reEmail,0,1)
22
f4 = isPostCode(frm.PostCode,1)
23
f5 = isPhone(frm.Tell,1)
24
refalg = f1 && f2 && f3 && f4 && f5
25
alert(refalg)
26
return refalg;
27
}
28
</script>
29
</head>
30
<body>
31
<form id="form1" name="form1" method="post" onsubmit="return checkform(this)" action="http://www.91160.com/">
32
<table>
33
<tr align="center"><td colspan="3" class="title">表单验证示例</td></tr>
34
<tr><td width="15%">用户名</td><td width="30%">
35
<input type="text" name="UserName" id="UserName" onfocus="isEmpty(this,0)" onblur="isEmpty(this,1)" /></td>
36
<td id="UserNameInfo">验证用户名不能空值</td>
37
</tr>
38
<tr><td>电子邮件</td><td><input type="text" name="Email" id="Email" onfocus="isEmail(this,1,0)" onblur="isEmail(this,1,1)"/></td>
39
<td id="EmailInfo">对电子邮件进行非空和格式验证</td>
40
</tr>
41
<tr><td>备用邮件</td><td><input type="text" name="reEmail" id="reEmail" onfocus="isEmail(this,0,0)" onblur="isEmail(this,0,1)"/></td>
42
<td id="reEmailInfo">如果填写则进行格式验证</td>
43
</tr>
44
<tr><td>邮编</td><td><input type="text" name="PostCode" id="PostCode" onfocus="isPostCode(this,0)" onblur="isPostCode(this,1)" /></td>
45
<td id="PostCodeInfo">邮编如果填写则进行验证</td>
46
</tr>
47
<tr><td>电话</td><td><input type="text" name="Tell" id="Tell" onfocus="isPhone(this,0)" onblur="isPhone(this,1)" /></td>
48
<td id="TellInfo">如填写则进行格式验证</td>
49
</tr>
50
<tr>
51
<td colspan="3" class="right">
52
<input type="submit" name="Submit" value="提交" />
53
<input type="reset" name="canter" value="重置" /></td></tr>
54
</table>
55
</form>
56
</body></html>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

代码感觉太长了,又不知道如何插入附件,只能是这样子了,供大家参考和改进