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
Nov 25 Javascript
prototype Element学习笔记(篇一)
Oct 26 Javascript
js跑步算法的实现代码
Dec 04 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
Apr 20 Javascript
VueJs使用Amaze ui调整列表和内容页面
Nov 30 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
Dec 20 Javascript
JS简单获取并修改input文本框内容的方法示例
Apr 08 Javascript
vue-cli 引入、配置axios的方法
May 08 Javascript
JS实现获取进今年第几天是周几的方法分析
Jun 27 Javascript
element-ui中的select下拉列表设置默认值方法
Aug 24 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
Dec 30 Javascript
Vue实现计算器计算效果
Aug 17 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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
PHP新手上路(六)
2006/10/09 PHP
PHPMyAdmin 快速配置方法
2009/05/11 PHP
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
js微信分享API
2020/10/11 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
python sys.argv[]用法实例详解
2018/05/25 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
《最佳路径》教学反思
2014/04/13 职场文书
人事任命书怎么写
2014/06/05 职场文书
服务承诺书
2015/01/19 职场文书
房地产销售员岗位职责
2015/04/11 职场文书