jquery实现一个简单的表单验证实例


Posted in Javascript onMarch 30, 2016

表单验证在网站开发过程中经常遇到,我们可以使用服务器端语言验证,也可以使用客户端语言来验证。本文章向大家介绍jquery客户端验证表单的一个简单实例。实例仅作参考。

<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>
<script src="/Public/js/jquery-1.7.1.min.js"></script>
<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 相关文章推荐
Jquery css函数用法(判断标签是否拥有某属性)
May 28 Javascript
通过js获取div的background-image属性
Oct 15 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
Mar 14 Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 Javascript
jQuery实现的登录浮动框效果代码
Sep 26 Javascript
javascript实现别踩白块儿小游戏程序
Nov 22 Javascript
谷歌Chrome浏览器扩展程序开发小记
Jan 06 Javascript
详解angular中如何监控dom渲染完毕
Jan 03 Javascript
使用angular帮你实现拖拽的示例
Jul 05 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
Mar 06 Javascript
vue中导出Excel表格的实现代码
Oct 18 Javascript
解决LayUI数据表格复选框不居中显示的问题
Sep 25 Javascript
js实现密码强度检测【附示例】
Mar 30 #Javascript
原生javascript实现的一个简单动画效果
Mar 30 #Javascript
纯js代码制作的网页时钟特效【附实例】
Mar 30 #Javascript
JS 实现倒计时数字时钟效果【附实例代码】
Mar 30 #Javascript
详解JavaScript for循环中发送AJAX请求问题
Jun 23 #Javascript
Jquery判断form表单数据是否变化
Mar 30 #Javascript
基于javascript实现tab选项卡切换特效调试笔记
Mar 30 #Javascript
You might like
php下载远程文件类(支持断点续传)
2008/11/14 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
CodeIgniter配置之routes.php用法实例分析
2016/01/19 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
2016/05/17 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Python实现在线程里运行scrapy的方法
2015/04/07 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
金宝贝童装官网:Gymboree
2016/08/31 全球购物
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
机械设计制造专业个人求职信
2013/09/25 职场文书
食品营养与检测应届生求职信
2013/11/08 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
小学生心理健康活动总结
2015/05/08 职场文书
教你怎么用python实现字符串转日期
2021/05/24 Python
React forwardRef的使用方法及注意点
2021/06/13 Javascript