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 call和apply方法
Nov 24 Javascript
JavaScript中的prototype使用说明
Apr 13 Javascript
javascript中substr,substring,slice.splice的区别说明
Nov 25 Javascript
javascript中的作用域和上下文使用简要概述
Dec 05 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
Nov 26 Javascript
javascript  删除select中的所有option的实例
Sep 17 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
Jul 10 Javascript
webpack4简单入门实例
Sep 06 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
Nov 06 Javascript
在VUE style中使用data中的变量的方法
Jun 19 Javascript
JS实现数据动态渲染的竖向步骤条
Jun 24 Javascript
深入了解Vue动态组件和异步组件
Jan 26 Vue.js
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 Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
php连接与操作PostgreSQL数据库的方法
2014/12/25 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
html下载本地
2006/06/19 Javascript
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
AngularJS基础知识
2014/12/21 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
2015/09/17 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
JQuery控制图片由中心点逐渐放大效果
2016/06/26 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
jQuery轻量级表单模型验证插件
2018/10/15 jQuery
详解Vue用cmd创建项目
2019/02/12 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
党员组织关系介绍信
2014/02/13 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
2014年招商工作总结
2014/11/22 职场文书
门店店长岗位职责
2015/04/14 职场文书
六年级作文之预言作文
2019/10/25 职场文书
Python基于Opencv识别两张相似图片
2021/04/25 Python
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers