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 仿百度输入标签插件附效果图
Jul 04 Javascript
jquery实现动态改变div宽度和高度
May 08 Javascript
JS实现的左侧竖向滑动菜单效果代码
Oct 19 Javascript
JavaScript制作简单分页插件
Sep 11 Javascript
jQuery表单插件ajaxForm实例详解
Jan 17 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
Jan 21 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
javascript将list转换成树状结构的实例
Sep 08 Javascript
Angular 组件之间的交互的示例代码
Mar 24 Javascript
详解webpack的proxyTable无效的解决方案
Jun 15 Javascript
基于JavaScript实现一个简单的Vue
Sep 26 Javascript
说说如何在Vue.js中实现数字输入组件的方法
Jan 08 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
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
犀利的js 函数集合
2009/06/11 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
js实现列表按字母排序
2020/08/11 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
Python中的元组介绍
2019/01/28 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
基于Python生成个性二维码过程详解
2020/03/05 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
爱岗敬业演讲稿
2014/05/05 职场文书
推广普通话标语
2014/06/27 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
python 统计代码耗时的几种方法分享
2021/04/02 Python
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers