基于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 相关文章推荐
checkbox 多选框 联动实现代码
Oct 22 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
Jun 05 Javascript
JavaScript数组操作函数汇总
Aug 05 Javascript
深入浅出 jQuery中的事件机制
Aug 23 Javascript
浅谈javascript中的事件冒泡和事件捕获
Dec 28 Javascript
使用vue.js实现联动效果的示例代码
Jan 10 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
Jan 23 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 Javascript
vue操作下拉选择器获取选择的数据的id方法
Aug 24 Javascript
基于vue.js组件实现分页效果
Dec 29 Javascript
原生js实现移动端Touch轮播图的方法步骤
Jan 03 Javascript
微信小程序实现上传多张图片、删除图片
Jul 29 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入门速成(2)
2006/10/09 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
PHP多维数组排序array详解
2017/11/21 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
基于jquery实现轮播特效
2016/04/22 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
小程序实现留言板
2018/11/02 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
Python 多线程Threading初学教程
2017/08/22 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
python滑块验证码的破解实现
2019/11/10 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
德国高性价比网上药店:medpex
2017/07/09 全球购物
简单租房协议书
2014/04/09 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
党支部活动策划方案
2014/08/18 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
村党组织公开承诺书
2015/04/30 职场文书
机器人瓦力观后感
2015/06/12 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
话题作文之诚信
2019/11/28 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python