经典的表单验证效果

验证功能如下:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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 ExpandedBlockStart.gif ContractedBlock.gif function  checkform(frm) {
 2InBlock.gif    var refalg=false;
 3InBlock.gif    var f1,f2,f3,f4,f5;
 4InBlock.gif    f1 = isEmpty(frm.UserName,1)
 5InBlock.gif    f2 = isEmail(frm.Email,1,1)
 6InBlock.gif    f3 = isEmail(frm.reEmail,0,1)
 7InBlock.gif    f4 = isPostCode(frm.PostCode,1)
 8InBlock.gif    f5 = isPhone(frm.Tell,1)
 9      refalg = f1 && f2 && f3 && f4 && f5
10InBlock.gif    alert(refalg)
11InBlock.gif    return refalg;
12ExpandedBlockEnd.gif}



js文件代码如下:

ExpandedBlockStart.gif /**/ /*
InBlock.gif验证要求:在表单的失去焦点事件和表单提交时进行验证
InBlock.gif表单说明:在表单的旁边应有一个元素存储提示信息,命名为表单元素名+info,同时为验证表单元素指定ID
InBlock.gif函数说明:接收表单的元素名称及表单状态(0为获得焦点,1为失去焦点进行验证),将验证的结果插入到表单旁边的ID中
InBlock.gif验证过程: 1.接收传表单元素的ID和表单状态,并获取值; 2.拟定正则表达式 3.验证处理 
ExpandedBlockEnd.gif          4.反馈处理结果到指定表单旁的区域中.
*/

None.gif
// 验证是否为空
ExpandedBlockStart.gif
function  isEmpty(_obj,flag) {
InBlock.gif    
var obj = document.getElementById(_obj.id);
InBlock.gif    
var info = document.getElementById(_obj.id+"info");
ExpandedSubBlockStart.gif    
if(flag){
ExpandedSubBlockStart.gif         
if(obj.value.length == 0){
InBlock.gif            showInfo(info,
"请输入表单的内容","red")
ExpandedSubBlockEnd.gif            
return false;}

ExpandedSubBlockStart.gif        
else{
InBlock.gif            showInfo(info,
"","green")
ExpandedSubBlockEnd.gif            
return true;}

ExpandedSubBlockEnd.gif    }

ExpandedSubBlockStart.gif    
else{
InBlock.gif        showInfo(info,
"您的表单内容不能为空","blue")
InBlock.gif        
return false;
ExpandedSubBlockEnd.gif    }
    
ExpandedBlockEnd.gif}

None.gif
None.gif
// 验证邮编,内容非必填字段,如果填写则进行验证
ExpandedBlockStart.gif
function  isPostCode(_obj,flag) {
InBlock.gif    
var obj = document.getElementById(_obj.id);
InBlock.gif    
var info = document.getElementById(_obj.id+"Info");
ExpandedSubBlockStart.gif    
var reg = /^\d{6}$/;
ExpandedSubBlockStart.gif    
if(flag){
ExpandedSubBlockStart.gif        
if(obj.value.length>0){
ExpandedSubBlockStart.gif            
if(reg.test(obj.value)==false){
InBlock.gif                showInfo(info,
"请输入6位数字为合法的邮政编码格式!","red")
ExpandedSubBlockEnd.gif                
return false;}

ExpandedSubBlockStart.gif            
else{
InBlock.gif                showInfo(info,
"","green")
ExpandedSubBlockEnd.gif                
return true;}

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockStart.gif        
else{
InBlock.gif            showInfo(info,
"邮编为可选填的内容","black")
ExpandedSubBlockEnd.gif            
return true;}

ExpandedSubBlockEnd.gif    }

ExpandedSubBlockStart.gif    
else{
InBlock.gif        showInfo(info,
"邮编的格式为6位数字","blue")
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif
None.gif
// 验证电子邮件
None.gif//
参数:Email表单元素ID,是否有必填,表单状态
ExpandedBlockStart.gif
function  isEmail(_obj,isempty,flag) {
InBlock.gif    
var obj = document.getElementById(_obj.id);
InBlock.gif    
var info = document.getElementById(_obj.id+"info");
InBlock.gif    
var reg =/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
ExpandedSubBlockStart.gif    
if (flag){
ExpandedSubBlockStart.gif        
if(isempty){
ExpandedSubBlockStart.gif            
if(obj.value == ""){
InBlock.gif                showInfo(info,
"电子邮件不能为空","red")
ExpandedSubBlockEnd.gif                
return false;    }

ExpandedSubBlockStart.gif            
if (reg.test(obj.value)==false){
InBlock.gif                showInfo(info,
"电子邮件格式不正确","red")
ExpandedSubBlockEnd.gif                
return false;}

ExpandedSubBlockStart.gifContractedSubBlock.gif            
else{
InBlock.gif                showInfo(info,
"","green")
ExpandedSubBlockEnd.gif                
return true;}

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockStart.gif        
else{
ExpandedSubBlockStart.gif            
if (obj.value.length>0){
ExpandedSubBlockStart.gif                
if (reg.test(obj.value)==false){
InBlock.gif                    showInfo(info,
"电子邮件格式不正确","red")
ExpandedSubBlockEnd.gif                    
return false;}

ExpandedSubBlockStart.gif                
else{
InBlock.gif                    showInfo(info,
"","green")
ExpandedSubBlockEnd.gif                    
return true;    }
                
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockStart.gif            
else{
InBlock.gif                    showInfo(info,
"如果填写则进行格式验证","black")
ExpandedSubBlockEnd.gif                    
return true;    }

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedSubBlockStart.gif    
else{
ExpandedSubBlockEnd.gif        showInfo(info,
"电子邮件可以取回密码","blue")    }

ExpandedBlockEnd.gif}

None.gif
None.gif
// 电话验证:非必填内容
ExpandedBlockStart.gif
function  isPhone(_obj,flag) {
InBlock.gif    
var obj=document.getElementById(_obj.id);
InBlock.gif    
var info=document.getElementById(_obj.id+"info");
ExpandedSubBlockStart.gif    
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
ExpandedSubBlockStart.gif    
if(flag){
ExpandedSubBlockStart.gif       
if(obj.value.length>0){
ExpandedSubBlockStart.gif            
if(reg.test(obj.value)==false){
InBlock.gif                showInfo(info,
"电话格式不正确","red")
ExpandedSubBlockEnd.gif                
return false;        }

ExpandedSubBlockStart.gif            
else{
InBlock.gif                showInfo(info,
"","green")
InBlock.gif                
return true;
ExpandedSubBlockEnd.gif            }
        
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockStart.gif        
else{
InBlock.gif            showInfo(info,
"如填写则进行格式验证","black")
InBlock.gif            
return true;
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedSubBlockStart.gif    
else{
InBlock.gif        showInfo(info,
"如填写则进行格式验证","blue")
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif
None.gif
// 显示信息
ExpandedBlockStart.gif
function  showInfo(_info,msg,color) {
InBlock.gif    
var info=_info;
InBlock.gif    info.innerHTML 
= msg;
InBlock.gif    info.style.color
=color;
ExpandedBlockEnd.gif}


HTML代码如下:

 1 None.gif <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
 2 None.gif < html  xmlns ="http://www.w3.org/1999/xhtml" >
 3 None.gif < head >
 4 None.gif < meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312"   />
 5 None.gif < title > 表单验证实例 </ title >
 6 None.gif < script  language ="javascript"  src ="checkform.js" ></ script >
 7 ExpandedBlockStart.gifContractedBlock.gif < style > dot.gif
 8ExpandedSubBlockStart.gifContractedSubBlock.gifbody {dot.gif}{ text-align:center; font-size:14px;}
 9ExpandedSubBlockStart.gifContractedSubBlock.giftable {dot.gif}{border:1px solid #CCCCCC;width:80%; text-align:left;}
10ExpandedSubBlockStart.gifContractedSubBlock.gifinput {dot.gif}{ line-height:20px; border:1px solid #000000;}
11ExpandedSubBlockStart.gifContractedSubBlock.giftd {dot.gif}{ height:20px; padding:4px;}
12ExpandedSubBlockStart.gifContractedSubBlock.gif.right{dot.gif}{ text-align:right;}
13ExpandedSubBlockStart.gifContractedSubBlock.gif.title{dot.gif}{ font-size:14px; background-color:#CCCCCC; font-weight:bold; height:20px;}
14None.gif
</ style >
15 ExpandedBlockStart.gifContractedBlock.gif < script  language ="javascript" > dot.gif
16ExpandedSubBlockStart.gifContractedSubBlock.giffunction checkform(frm)dot.gif{
17InBlock.gif    var refalg=false;
18InBlock.gif    var f1,f2,f3,f4,f5;
19InBlock.gif    f1 = isEmpty(frm.UserName,1)
20InBlock.gif    f2 = isEmail(frm.Email,1,1)
21InBlock.gif    f3 = isEmail(frm.reEmail,0,1)
22InBlock.gif    f4 = isPostCode(frm.PostCode,1)
23InBlock.gif    f5 = isPhone(frm.Tell,1)
24InBlock.gif    refalg = f1 && f2 && f3 && f4 && f5
25InBlock.gif    alert(refalg)
26InBlock.gif    return refalg;
27ExpandedBlockEnd.gif}

28None.gif
</ script >
29 None.gif </ head >
30 None.gif < body >
31 None.gif < form  id ="form1"  name ="form1"  method ="post"  onsubmit ="return checkform(this)"  action ="http://www.91160.com/" >
32 None.gif   < table >
33 None.gif     < tr  align ="center" >< td  colspan ="3"  class ="title" > 表单验证示例 </ td ></ tr >
34 None.gif     < tr >< td  width ="15%" > 用户名 </ td >< td  width ="30%" >
35 None.gif         < input  type ="text"  name ="UserName"  id ="UserName"  onfocus ="isEmpty(this,0)"  onblur ="isEmpty(this,1)"   /></ td >
36 None.gif     < td  id ="UserNameInfo" > 验证用户名不能空值 </ td >
37 None.gif     </ tr >
38 None.gif     < tr >< td > 电子邮件 </ td >< td >< input  type ="text"  name ="Email"  id ="Email"  onfocus ="isEmail(this,1,0)"  onblur ="isEmail(this,1,1)" /></ td >
39 None.gif           < td  id ="EmailInfo" > 对电子邮件进行非空和格式验证 </ td >
40 None.gif     </ tr >
41 None.gif     < tr >< td > 备用邮件 </ td >< td >< input  type ="text"  name ="reEmail"  id ="reEmail"  onfocus ="isEmail(this,0,0)"  onblur ="isEmail(this,0,1)" /></ td >
42 None.gif           < td  id ="reEmailInfo" > 如果填写则进行格式验证 </ td >
43 None.gif     </ tr >
44 None.gif     < tr >< td > 邮编 </ td >< td >< input  type ="text"  name ="PostCode"  id ="PostCode"  onfocus ="isPostCode(this,0)"  onblur ="isPostCode(this,1)"   /></ td >
45 None.gif           < td  id ="PostCodeInfo" > 邮编如果填写则进行验证 </ td >
46 None.gif     </ tr >
47 None.gif     < tr >< td > 电话 </ td >< td >< input  type ="text"  name ="Tell"  id ="Tell"  onfocus ="isPhone(this,0)"  onblur ="isPhone(this,1)"   /></ td >
48 None.gif           < td  id ="TellInfo" > 如填写则进行格式验证 </ td >
49 None.gif     </ tr >
50 None.gif     < tr >
51 None.gif       < td  colspan ="3"  class ="right" >
52 None.gif           < input  type ="submit"  name ="Submit"  value ="提交"   />
53 None.gif           < input  type ="reset"  name ="canter"  value ="重置"   /></ td ></ tr >
54 None.gif   </ table >
55 None.gif </ form >
56 None.gif </ body ></ html >


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

转载于:https://www.cnblogs.com/nyxuwen/archive/2006/12/11/589309.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值