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 相关文章推荐
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
Mar 09 Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 Javascript
jquery实现input框获取焦点的简单实例
Jan 26 Javascript
node.js入门学习之url模块
Feb 25 Javascript
angular.js+node.js实现下载图片处理详解
Mar 31 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
Apr 12 Javascript
vue中component组件的props使用详解
Sep 04 Javascript
node使用promise替代回调函数
May 07 Javascript
详解swipe使用及竖屏页面滚动方法
Jun 28 Javascript
JS实现继承的几种常用方式示例
Jun 22 Javascript
javascript实现支付宝滑块验证码效果
Jul 24 Javascript
微信小程序APP的生命周期及页面的生命周期
Apr 19 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
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
Zend Framework基于Command命令行建立ZF项目的方法
2017/02/18 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
Python httplib模块使用实例
2015/04/11 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
岗位职责的构建方法
2014/02/01 职场文书
小学毕业感言300字
2014/02/19 职场文书
四群教育工作实施方案
2014/03/26 职场文书
小学毕业寄语大全
2014/04/03 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
Django实现翻页的示例代码
2021/05/24 Python
golang语言指针操作
2022/04/14 Golang