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插件
Nov 24 Javascript
jQuery 跨域访问问题解决方法
Dec 02 Javascript
javascript 自动填写表单的实现方法
Apr 09 Javascript
js获取input标签的输入值实现代码
Aug 05 Javascript
判断JS对象是否拥有某种属性的两种方式
Dec 02 Javascript
JQuery页面的表格数据的增加与分页的实现
Dec 10 Javascript
javascript中scrollTop详解
Apr 13 Javascript
JS判断页面是否出现滚动条的方法
Jul 17 Javascript
老司机带你解读jQuery插件开发流程
May 16 Javascript
Bootstrap实现水平排列的表单
Jul 04 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
Feb 15 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
Feb 24 jQuery
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下载xls文件(自己动手写的)
2014/04/18 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
Nodejs极简入门教程(三):进程
2014/10/27 NodeJs
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
jQuery回到顶部的代码
2016/07/09 Javascript
详解Vue2.0之去掉组件click事件的native修饰
2017/04/20 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
centos系统升级python 2.7.3
2014/07/03 Python
python中模块查找的原理与方法详解
2017/08/11 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
校园之声广播稿
2014/01/31 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
节能环保口号
2014/06/12 职场文书
高中同学会活动方案
2014/08/14 职场文书
北京青年观后感
2015/06/15 职场文书
公司开业致辞
2015/07/29 职场文书
详解Python描述符的工作原理
2021/06/11 Python