`
Landroid
  • 浏览: 14301 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

【转载】经典的表单验证效果

阅读更多
转自:经典的表单验证效果
验证功能如下:
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.返回值的使用
[code="javascript"]function checkform(frm){
     var refalg=false;
     var f1,f2,f3,f4,f5;
     f1 = isEmpty(frm.UserName,1)
     f2 = isEmail(frm.Email,1,1)
     f3 = isEmail(frm.reEmail,0,1)
     f4 = isPostCode(frm.PostCode,1)
     f5 = isPhone(frm.Tell,1)
      refalg = f1 && f2 && f3 && f4 && f5
    alert(refalg)
    return refalg;
}
js代码
[code="javascript"]/*
验证要求:在表单的失去焦点事件和表单提交时进行验证
表单说明:在表单的旁边应有一个元素存储提示信息,命名为表单元素名+info,同时为验证表单元素指定ID
函数说明:接收表单的元素名称及表单状态(0为获得焦点,1为失去焦点进行验证),将验证的结果插入到表单旁边的ID中
验证过程: 1.接收传表单元素的ID和表单状态,并获取值; 2.拟定正则表达式 3.验证处理
          4.反馈处理结果到指定表单旁的区域中.*/
//验证是否为空
function isEmpty(_obj,flag){
    var obj = document.getElementById(_obj.id);
    var Info = document.getElementById(_obj.id+"Info");
    if(flag){
         if(obj.value.length == 0){
            showInfo(Info,"请输入表单的内容","red")
            return false;}
        else{
            showInfo(Info,"√","green")
            return true;}
    }
    else{
        showInfo(Info,"您的表单内容不能为空","blue")
        return false;
    }   
}
//验证邮编,内容非必填字段,如果填写则进行验证
function isPostCode(_obj,flag){
    var obj = document.getElementById(_obj.id);
    var Info = document.getElementById(_obj.id+"Info");
    var reg = /^\d{6}$/;
    if(flag){
        if(obj.value.length>0){
            if(reg.test(obj.value)==false){
                showInfo(Info,"请输入6位数字为合法的邮政编码格式!","red")
                return false;}
            else{
                showInfo(Info,"√","green")
                return true;}
        }
        else{
            showInfo(Info,"邮编为可选填的内容","black")
            return true;}
    }
    else{
        showInfo(Info,"邮编的格式为6位数字","blue")
    }
}
//验证电子邮件
//参数:Email表单元素ID,是否有必填,表单状态
function isEmail(_obj,isempty,flag){
    var obj = document.getElementById(_obj.id);
    var Info = document.getElementById(_obj.id+"Info");
    var reg =/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
    if (flag){
        if(isempty){
            if(obj.value == ""){
                showInfo(Info,"电子邮件不能为空","red")
                return false;    }
            if (reg.test(obj.value)==false){
                showInfo(Info,"电子邮件格式不正确","red")
                return false;}
            else{
                showInfo(Info,"√","green")
                return true;}
        }
        else{
            if (obj.value.length>0){
                if (reg.test(obj.value)==false){
                    showInfo(Info,"电子邮件格式不正确","red")
                    return false;}
                else{
                    showInfo(Info,"√","green")
                    return true;    }               
            }
            else{
                    showInfo(Info,"如果填写则进行格式验证","black")
                    return true;    }
        }
    }
    else{
        showInfo(Info,"电子邮件可以取回密码","blue")    }
}
//电话验证:非必填内容
function isPhone(_obj,flag){
    var obj=document.getElementById(_obj.id);
    var Info=document.getElementById(_obj.id+"Info");
    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}$)/;
    if(flag){
       if(obj.value.length>0){
            if(reg.test(obj.value)==false){
                showInfo(Info,"电话格式不正确","red")
                return false;        }
            else{
                showInfo(Info,"√","green")
                return true;
            }       
        }
        else{
            showInfo(Info,"如填写则进行格式验证","black")
            return true;
        }
    }
    else{
        showInfo(Info,"如填写则进行格式验证","blue")
    }
}
//显示信息
function showInfo(_Info,msg,color){
    var Info=_Info;
    Info.innerHTML = msg;
    Info.style.color=color;
}
HTML代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>表单验证实例</title>
<script language="javascript" src="checkform.js"></script>
<style>
body { text-align:center; font-size:14px;}
table {border:1px solid #CCCCCC;width:80%; text-align:left;}
input { line-height:20px; border:1px solid #000000;}
td { height:20px; padding:4px;}
.right{ text-align:right;}
.title{ font-size:14px; background-color:#CCCCCC; font-weight:bold; height:20px;}
</style>

<script language="javascript">
function checkform(frm){
    var refalg=false;
    var f1,f2,f3,f4,f5;
    f1 = isEmpty(frm.UserName,1)
    f2 = isEmail(frm.Email,1,1)
    f3 = isEmail(frm.reEmail,0,1)
    f4 = isPostCode(frm.PostCode,1)
    f5 = isPhone(frm.Tell,1)
    refalg = f1 && f2 && f3 && f4 && f5
    alert(refalg)
    return refalg;
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" onsubmit="return checkform(this)" action="http://www.91160.com/">
  <table>
    <tr align="center"><td colspan="3" class="title">表单验证示例</td></tr>
    <tr><td width="15%">用户名</td><td width="30%">
        <input type="text" name="UserName" id="UserName" onfocus="isEmpty(this,0)" onblur="isEmpty(this,1)" /></td>
    <td id="UserNameInfo">验证用户名不能空值</td>
    </tr>
    <tr><td>电子邮件</td><td><input type="text" name="Email" id="Email" onfocus="isEmail(this,1,0)" onblur="isEmail(this,1,1)"/></td>
          <td id="EmailInfo">对电子邮件进行非空和格式验证</td>
    </tr>
    <tr><td>备用邮件</td><td><input type="text" name="reEmail" id="reEmail" onfocus="isEmail(this,0,0)" onblur="isEmail(this,0,1)"/></td>
          <td id="reEmailInfo">如果填写则进行格式验证</td>
    </tr>
    <tr><td>邮编</td><td><input type="text" name="PostCode" id="PostCode" onfocus="isPostCode(this,0)" onblur="isPostCode(this,1)" /></td>
          <td id="PostCodeInfo">邮编如果填写则进行验证</td>
    </tr>
    <tr><td>电话</td><td><input type="text" name="Tell" id="Tell" onfocus="isPhone(this,0)" onblur="isPhone(this,1)" /></td>
          <td id="TellInfo">如填写则进行格式验证</td>
    </tr>
    <tr>
      <td colspan="3" class="right">
          <input type="submit" name="Submit" value="提交" />
          <input type="reset" name="canter" value="重置" /></td></tr>
  </table>
</form>
</body></html>

==============================我是分割线啊==============================
注:为了保证正确显示,已原js代码中info修改为Info
效果截图

分享到:
评论

相关推荐

    漂亮的表单验证效果

    "漂亮的表单验证效果"这个主题强调了不仅需要验证数据的正确性,还要注重验证过程的视觉反馈,提升用户的交互体验。下面我们将深入探讨表单验证的相关知识点。 1. **表单验证的必要性**: 表单验证能够预防错误的...

    js验证表单提示效果

    "js验证表单提示效果"是一个关于如何利用JavaScript、CSS以及jQuery来创建交互式、用户友好的表单验证机制的示例。下面将详细介绍这个主题中的关键知识点。 首先,JavaScript是前端开发中的基础脚本语言,它允许...

    jQuery滑动表单验证效果.zip_jQuery滑动表单验证效果

    "jQuery滑动表单验证效果"是一个示例项目,旨在展示如何利用jQuery实现动态、互动的验证反馈,为用户带来更流畅的表单填写体验。 在这个项目中,"FancySlidingForm"可能是主要的HTML文件,包含了表单的结构和样式。...

    很美观及实用的html5+css3表单验证效果

    接下来是CSS3,它带来了丰富的样式和动画效果,使表单验证的反馈更加直观和吸引人。在`styles.css`文件中,可能会定义不同状态(如:正常、聚焦、错误或成功)下的输入框和提示信息的样式。例如,可以设置错误状态下...

    DW笨阿猪高级表单验证

    在IT行业中,表单验证是前端开发中的一个重要环节,它确保用户输入的数据符合特定的规则,从而维护数据的完整性和安全性。"DW笨阿猪高级表单验证"可能是一个专门针对Dreamweaver(DW)用户的插件或教程,旨在帮助...

    表单验证jquery插件

    在Web开发中,表单验证是不可或缺的一部分,它确保用户输入的数据符合预设的规则,从而提高数据质量和用户体验。jQuery Validation Engine 是一个功能强大的表单验证插件,以其简单易用和丰富的自定义选项而受到...

    js表单验证 全网最全的 表单验证

    在Web开发中,表单验证是一项至关重要的任务,它确保用户输入的数据符合预期,从而防止错误数据的提交,提升用户体验并保障数据安全。本资源集合了全网最全面的JavaScript表单验证方法,覆盖了从基础到高级的各种...

    经典表单验证.rar

    综上所述,"经典表单验证.rar"可能包含了一个完整的前端验证示例,涵盖了基本的验证规则和方法,同时也提醒我们后端验证的重要性。学习并理解这个案例,对于提高表单处理的安全性和用户体验具有实际价值。

    简单的表单验证

    在IT领域,表单验证是网页开发中必不可少的一部分,它确保用户输入的数据符合预设的规则,从而保证数据的有效性和安全性。"简单的表单验证"这个主题,通常涉及到JavaScript(JS)这一前端脚本语言,用于实现客户端的...

    Java Web Jquery表单验证

    编写基于Jquery的表单验证插件 Java Web Jquery表单验证 jQuery是一个流行的JavaScript库,可用于在网页上进行各种操作,包括表单验证。 1、将基于Jquery的表单验证的调查问卷分为四个部分:FrontPage.html、write....

    超好用的JS表单验证,效果好

    在网页开发中,表单验证是一项至关重要的任务,它确保用户输入的数据符合预期的格式和规则,从而保证数据的完整性和安全性。本文将详细介绍基于jQuery的JS表单验证程序,探讨其特点、功能以及如何使用。 一、jQuery...

    JQuery实现表单验证

    在"JQuery实现表单验证"的案例中,描述中提到有五种不同的提示方式,这些可能包括错误消息的显示位置、样式、动画效果等,以满足多样化的用户体验需求。 以下是使用JQuery进行表单验证的基本步骤: 1. **选择器与...

    bootstarp表单验证

    Bootstrap表单验证是一种在网页开发中确保用户输入数据有效性的技术。Bootstrap,作为最流行的前端框架之一,提供了优雅的样式和组件,使开发者能够轻松创建响应式和美观的界面。结合jQuery,我们可以实现动态和交互...

    表单验证控件 简单

    1、验证插件支持正则表达式验证,函数验证,ajax异步验证,支持对比验证,并支持对表单的自定义属性或指定属性进行验证,应该足矣满足常用软件及网站开发需求。(可根据自己需求,手动添加验证方式) 2、插件支持...

    JS注册表单验证

    网上常见的用JS编写的注册表单验证的代码,非常实用哦

    网页表单验证效果代码

    本压缩包提供的"网页表单验证效果代码"显然是一个实现美观验证效果的代码资源,对于前端开发者来说极具价值。 在网页表单设计中,验证通常涉及到以下几个方面: 1. **非空验证**:确保用户至少填写了表单中的必要...

    jq表单验证大全.rar jq表单验证大全.rar

    《jq表单验证大全》是针对使用jQuery库进行前端表单验证的一份综合资源集合,主要涵盖各种常见的表单验证场景和解决方案。jQuery,作为一款轻量级的JavaScript库,因其简洁的API和强大的功能而广受欢迎,尤其在处理...

    jQuery表单验证插件EasyValidator 2.0带TIP提示效果

    EasyValidator 2.0是基于jQuery的轻量级表单验证插件,它的主要目标是帮助开发者快速实现表单验证,同时提供美观的提示效果。通过使用该插件,开发者可以轻松地对表单字段进行各种验证规则设置,如非空检查、邮箱...

    Jquery表单验证特效示例

    3. **基本使用**:首先需要在页面中引入jQuery库和验证插件的脚本文件,然后选择需要验证的表单元素,通过`.validate()`方法初始化验证器,并配置验证规则。 4. **验证规则**:你可以设置如`required`(必填)、`...

    jquery表单验证插件制作多张提交表单验证效果源码.zip

    这个"jquery表单验证插件制作多张提交表单验证效果源码.zip"文件似乎包含了一个用于创建多张表单验证功能的jQuery插件的源代码。下面我们将深入探讨jQuery表单验证及其相关技术。 1. **jQuery基础**:jQuery库通过...

Global site tag (gtag.js) - Google Analytics