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操纵Cookie实现购物车程序
Feb 15 Javascript
网页开发中的容易忽略的问题 javascript HTML中的table
Apr 15 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
Nov 11 Javascript
Node.js插件的正确编写方式
Aug 03 Javascript
js实现仿QQ秀换装效果的方法
Mar 04 Javascript
四种参数传递的形式——URL,超链接,js,form表单
Jul 24 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
Jun 02 Javascript
基于Vue.js 2.0实现百度搜索框效果
Dec 28 Javascript
详解如何配置vue-cli3.0的vue.config.js
Aug 23 Javascript
详解Vue组件插槽的使用以及调用组件内的方法
Nov 13 Javascript
原来JS还可以这样拆箱转换详解
Feb 01 Javascript
JS实现盒子拖拽效果
Feb 06 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
sae使用smarty模板的方法
2013/12/17 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
js 蒙版进度条(结合图片)
2010/03/10 Javascript
简单的js表单验证函数
2013/10/28 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
python实现归并排序算法
2018/11/22 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
python实现复制大量文件功能
2019/08/31 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
解决在keras中使用model.save()函数保存模型失败的问题
2020/05/21 Python
Python devel安装失败问题解决方案
2020/06/09 Python
Python3 requests模块如何模仿浏览器及代理
2020/06/15 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
工厂门卫岗位职责
2013/11/25 职场文书
运动会邀请函范文
2014/02/06 职场文书
犯错检讨书
2014/02/21 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript