jquery实现一个简单的表单验证实例


Posted in Javascript onMarch 30, 2016

表单验证在网站开发过程中经常遇到,我们可以使用服务器端语言验证,也可以使用客户端语言来验证。本文章向大家介绍jquery客户端验证表单的一个简单实例。实例仅作参考。

<body>

<form method="post" action="">
  <div class="int">
    <label for="username">用户名:</label>
    <!-- 为每个需要的元素添加required -->
    <input type="text" id="username" class="required" />
  </div>
  <div class="int">
    <label for="email">邮箱:</label>
    <input type="text" id="email" class="required" />
  </div>
  <div class="int">
    <label for="personinfo">个人资料:</label>
    <input type="text" id="personinfo" />
  </div>
  <div class="sub">
    <input type="submit" value="提交" id="send"/><input type="reset" id="res"/>
  </div>
</form>

</body>
<script src="/Public/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(function(){
    /*
    *思路大概是先为每一个required添加必填的标记,用each()方法来实现。
    *在each()方法中先是创建一个元素。然后通过append()方法将创建的元素加入到父元素后面。
    *这里面的this用的很精髓,每一次的this都对应着相应的input元素,然后获取相应的父元素。
    *然后为input元素添加失去焦点事件。然后进行用户名、邮件的验证。
    *这里用了一个判断is(),如果是用户名,做相应的处理,如果是邮件做相应的验证。
    *在jQuery框架中,也可以适当的穿插一写原汁原味的javascript代码。比如验证用户名中就有this.value,和this.value.length。对内容进行判断。
    *然后进行的是邮件的验证,貌似用到了正则表达式。
    *然后为input元素添加keyup事件与focus事件。就是在keyup时也要做一下验证,调用blur事件就行了。用triggerHandler()触发器,触发相应的事件。
    *最后提交表单时做统一验证
    *做好整体与细节的处理
    */
    //如果是必填的,则加红星标识.
    $("form :input.required").each(function(){
      var $required = $("<strong class='high'> *</strong>"); //创建元素
      $(this).parent().append($required); //然后将它追加到文档中
    });
     //文本框失去焦点后
    $('form :input').blur(function(){
       var $parent = $(this).parent();
       $parent.find(".formtips").remove();
       //验证用户名
       if( $(this).is('#username') ){
          if( this.value=="" || this.value.length < 6 ){
            var errorMsg = '请输入至少6位的用户名.';
            $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
          }else{
            var okMsg = '输入正确.';
            $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
          }
       }
       //验证邮件
       if( $(this).is('#email') ){
        if( this.value=="" || ( this.value!="" && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value) ) ){
           var errorMsg = '请输入正确的E-Mail地址.';
           $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
        }else{
           var okMsg = '输入正确.';
           $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
        }
       }
    }).keyup(function(){
      $(this).triggerHandler("blur");
    }).focus(function(){
       $(this).triggerHandler("blur");
    });//end blur

    
    //提交,最终验证。
     $('#send').click(function(){
        $("form :input.required").trigger('blur');
        var numError = $('form .onError').length;
        if(numError){
          return false;
        } 
        alert("注册成功,密码已发到你的邮箱,请查收.");
     });

    //重置
     $('#res').click(function(){
        $(".formtips").remove(); 
     });
})
//]]>
</script>

以上这篇jquery实现一个简单的表单验证实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在javascript中执行任意html代码的方法示例解读
Dec 25 Javascript
触屏中的JavaScript事件分析
Feb 06 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
Jun 05 Javascript
JavaScript 正则表达式中global模式的特性
Feb 25 Javascript
完美实现八种js焦点轮播图(下篇)
Apr 20 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
原生JS实现图片懒加载(lazyload)实例
Jun 13 Javascript
利用JavaScript如何查询某个值是否数组内
Jul 30 Javascript
JavaScript之解构赋值的理解
Jan 30 Javascript
react中Suspense的使用详解
Sep 01 Javascript
微信小程序使用前置摄像头拍照
Oct 22 Javascript
Javascript设计模式之原型模式详细
Oct 05 Javascript
js实现密码强度检测【附示例】
Mar 30 #Javascript
原生javascript实现的一个简单动画效果
Mar 30 #Javascript
纯js代码制作的网页时钟特效【附实例】
Mar 30 #Javascript
JS 实现倒计时数字时钟效果【附实例代码】
Mar 30 #Javascript
详解JavaScript for循环中发送AJAX请求问题
Jun 23 #Javascript
Jquery判断form表单数据是否变化
Mar 30 #Javascript
基于javascript实现tab选项卡切换特效调试笔记
Mar 30 #Javascript
You might like
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
简单易用的计数器(数据库)
2006/10/09 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
PyQt5实现简单的计算器
2020/05/30 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
pytorch简介
2020/11/11 Python
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
司机辞职报告范文
2014/01/20 职场文书
施工安全责任书
2014/04/14 职场文书
感恩教师节演讲稿
2014/09/03 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
护理专业自荐信范文
2015/03/06 职场文书
大学推普周活动总结
2015/05/07 职场文书