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 相关文章推荐
Whatever:hover 无需javascript让IE支持丰富伪类
Jun 29 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
Jun 21 Javascript
location.href用法总结(最主要的)
Dec 27 Javascript
JavaScript基本语法讲解
Jun 03 Javascript
JavaScript的jQuery库中function的存在和参数问题
Aug 13 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
Oct 19 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
May 24 Javascript
Bootstrap被封装的弹层
Jul 20 Javascript
微信小程序使用第三方库Immutable.js实例详解
Sep 27 Javascript
vue制作加载更多功能的正确打开方式
Oct 12 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
Oct 25 Javascript
AngularJs分页插件使用详解
Jun 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 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
js的逻辑运算符 ||
2010/05/31 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python抓取电影天堂电影信息的代码
2016/04/07 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
浅谈Python中的全局锁(GIL)问题
2019/01/11 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
django列表筛选功能的实现代码
2020/03/27 Python
Python安装Bs4的多种方法
2020/11/28 Python
如何利用python 读取配置文件
2021/01/06 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
国际象棋商店:The Chess Store
2018/07/09 全球购物
中专毕业生自我鉴定
2013/11/21 职场文书
班组长岗位职责范本
2014/01/05 职场文书
优秀教师获奖感言
2014/01/31 职场文书
老师对学生的寄语
2014/04/09 职场文书