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 相关文章推荐
Packer 3.0 JS压缩及混淆工具 下载
May 03 Javascript
JQuery中$之选择器用法介绍
Apr 05 Javascript
Javascript call和apply区别及使用方法
Nov 14 Javascript
jQuery的选择器中的通配符使用介绍
Mar 20 Javascript
jQuery实现简单的日期输入格式化控件
Mar 12 Javascript
JS简单模拟触发按钮点击功能的方法
Nov 30 Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 Javascript
jQuery实现页面点击后退弹出提示框的方法
Aug 24 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 Javascript
jQuery ajax动态生成table功能示例
Jun 14 jQuery
使用Webpack提升Vue.js应用程序的4种方法(翻译)
Oct 09 Javascript
JavaScript语句错误throw、try及catch实例解析
Aug 18 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
js函数调用的方式
2014/05/06 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
浅析JS运动
2015/12/28 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
深入浅析Vue中的Prop
2018/06/10 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
Python Socket编程之多线程聊天室
2018/07/28 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
python 实现return返回多个值
2019/11/19 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
忠诚奉献演讲稿
2014/09/12 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书