jQuery之简单的表单验证实例


Posted in Javascript onJuly 07, 2016

html部分:

<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>

jQuery部分:

<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的对话框详解与参数
Mar 08 Javascript
十个优秀的Ajax/Javascript实例网站收集
Mar 31 Javascript
js最简单的拖拽效果实现代码
Sep 24 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
Mar 05 Javascript
Tab切换组件(选项卡功能)实例代码
Nov 21 Javascript
javascript判断并获取注册表中可信任站点的方法
Jun 01 Javascript
jquery点击改变class并toggle的实现代码
May 15 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
原生Javascript插件开发实践
Jan 09 Javascript
浅析Vue自定义组件的v-model
Nov 26 Javascript
jquery animate动画持续运动的实例
Nov 29 jQuery
JavaScript对象的特性与实践应用深入详解
Dec 30 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
Jul 07 #Javascript
Bootstrap3使用typeahead插件实现自动补全功能
Jul 07 #Javascript
Node.js DES加密的简单实现
Jul 07 #Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
Jul 07 #Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
Jul 07 #Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
Apr 16 #Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 #Javascript
You might like
php 静态页面中显示动态内容
2009/08/14 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
微信小程序实现分页加载效果
2020/11/19 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
python检测lvs real server状态
2014/01/22 Python
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
简单介绍python封装的基本知识
2019/08/10 Python
pytorch梯度剪裁方式
2020/02/04 Python
python 深度学习中的4种激活函数
2020/09/18 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
Unix如何在一行中运行多个命令
2015/05/29 面试题
公务员个人年终总结
2015/02/12 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
抖音短视频(douyin)去水印工具的实现代码
2021/03/30 Javascript
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
Nginx跨域问题解析与解决
2022/08/05 Servers