基于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 相关文章推荐
jquery异步跨域访问代码
Jun 28 Javascript
JavaScript?Apple设备检测示例代码
Nov 15 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
Oct 30 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
May 12 Javascript
巧用Javascript的逻辑运算符
Dec 02 Javascript
webuploader模态框ueditor显示问题解决方法
Dec 27 Javascript
javascript实现复选框全选或反选
Feb 04 Javascript
关于Node.js的events.EventEmitter用法介绍
Apr 01 Javascript
JavaScript实现图片无缝滚动效果
Jul 07 Javascript
利用Node.js检测端口是否被占用的方法
Dec 07 Javascript
简单了解JavaScript arguement原理及作用
May 28 Javascript
VUE递归树形实现多级列表
Jul 15 Vue.js
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
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
php实现将上传word文件转为html的方法
2015/06/03 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
FireFox中textNode分片的问题
2007/04/10 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
javascript中this关键字详解
2016/12/12 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
VUE实现密码验证与提示功能
2019/10/18 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
跟老齐学Python之Python文档
2014/10/10 Python
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
13个最常用的Python深度学习库介绍
2017/10/28 Python
python retrying模块的使用方法详解
2019/09/25 Python
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
实习教师自我鉴定
2013/09/27 职场文书
市场安全管理制度
2014/01/26 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
21岁生日感言
2014/02/27 职场文书
竞聘书格式及范文
2014/03/31 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
MySql分区类型及创建分区的方法
2022/04/13 MySQL
vue如何清除浏览器历史栈
2022/05/25 Vue.js