基于jquery实现即时检查格式是否正确的表单


Posted in Javascript onMay 06, 2016

现在很多网站的注册模块都可以实现即时检查格式是否正确,这样极大的增强了用户体验,对开发非常有利。

下面的代码是利用jquery实现了对一个表单字段格式即时检查(包括字段长度、邮箱格式),同时在提交时,再次出发检查事件。

注意这个检查是keyup和focus上为主,利用这两个事件来触发blur(失去焦点)事件。

<html>
<head>
 <meta charset="utf-8" />
 <title></title>
 <link href="css/style.css" rel="stylesheet" type="text/css" />
 <script src="jquery-1.3.2.min.js"></script>
 <script>
  $(function () {



//为每个必填字段后面加上*
   $("form :input.required").each(function () {
    var $required = $("<strong class='high'>*</strong>");
    $(this).parent().append($required);
   });




//textbox失去焦点事件
   $("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");//keyup和focus利用triggerHandler来触发blur事件
   }).focus(function () {
    $(this).triggerHandler("blur");
   });
   $("#send").click(function () {//提交按钮事件
    $("form .required:input").trigger('blur');
    var numError = $('form .onError').length;
    if(numError)
    {
     return false;
    }
    alert("注册成功,密码已发到你的邮箱,请查收");
   });
  });

 </script>
</head>
<body>
 <form method="post" action="">
  <div class="int">
   <label for="username">用户名</label>
   <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>
</html>

更多内容点击:jquery表单验证大全

以上就是本文的全部内容,希望对大家学习jquery程序设计有所帮助。

Javascript 相关文章推荐
Ctrl+Enter提交内容信息
Jun 26 Javascript
[JS源码]超长文章自动分页(客户端版)
Jan 09 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
Sep 16 Javascript
javascript中注册和移除事件的4种方式
Mar 20 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
Nov 09 Javascript
JavaScript内存泄漏的处理方式
Nov 20 Javascript
JS实现的邮箱提示补全效果示例
Jan 30 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
Oct 08 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
Feb 11 Javascript
js实现图片粘贴到网页
Dec 06 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 Javascript
深入理解javascript中的this
Feb 08 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
May 05 #Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
May 05 #Javascript
jquery实现全选功能效果的实现代码
May 05 #Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
May 05 #Javascript
animate 实现滑动切换效果【实例代码】
May 05 #Javascript
JavaScript中各种引用类型的常用操作方法小结
May 05 #Javascript
Sea.JS知识总结
May 05 #Javascript
You might like
PHP如何编写易读的代码
2007/07/10 PHP
php采集时被封ip的解决方法
2010/08/29 PHP
php写的简易聊天室代码
2011/06/04 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
PHP实现基于状态的责任链审批模式详解
2019/05/31 PHP
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
python实现解数独程序代码
2017/04/12 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
对于Python深浅拷贝的理解
2019/07/29 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
师范学院毕业生求职信范文
2013/12/26 职场文书
职工趣味运动会方案
2014/02/10 职场文书
单位单身证明样本
2014/10/11 职场文书
家庭财产分割协议书范本
2014/11/24 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
2016新年慰问信范文
2015/03/25 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
Python的property属性详细讲解
2022/04/11 Python
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python