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 相关文章推荐
一个符号插入器 中用到的js代码
Sep 04 Javascript
ajax上传时参数提交不更新等相关问题
Dec 11 Javascript
javascript检查浏览器是否已经启用XX功能
Jul 10 Javascript
关于List.ToArray()方法的效率测试
Sep 30 Javascript
Javascript基础回顾之(三) js面向对象
Jan 31 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
Jun 13 Javascript
node+express+ejs使用模版引擎做的一个示例demo
Sep 18 Javascript
AngularJS 的$timeout服务示例代码
Sep 21 Javascript
vue加载自定义的js文件方法
Mar 13 Javascript
JavaScript引用类型RegExp基本用法详解
Aug 09 Javascript
JavaScript正则表达式验证登录实例
Mar 18 Javascript
javascript利用键盘控制小方块的移动
Apr 20 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语法(3)
2006/10/09 PHP
10条PHP编程习惯助你找工作
2008/09/29 PHP
PHP number_format() 函数定义和用法
2012/06/01 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
python使用Image处理图片常用技巧分析
2015/06/01 Python
Python的装饰器使用详解
2017/06/26 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
python Kmeans算法原理深入解析
2019/08/23 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
简单了解python列表和元组的区别
2020/05/14 Python
IE下实现类似CSS3 text-shadow文字阴影的几种方法
2011/05/11 HTML / CSS
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
超市创业计划书
2014/04/24 职场文书
法制宣传月活动总结
2014/04/29 职场文书
庆六一宣传标语
2014/10/08 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
《检阅》教学反思
2016/02/22 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL