基于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 相关文章推荐
讨论javascript(一)工厂方式 js面象对象的定义方法
Dec 15 Javascript
JavaScript关于select的相关操作说明
Jan 13 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
Oct 20 Javascript
jQuery动态添加
Apr 07 Javascript
微信小程序 Nginx环境配置详细介绍
Feb 14 Javascript
jQuery实现简单的抽奖游戏
May 05 jQuery
浅析从vue源码看观察者模式
Jan 29 Javascript
Vue2.0 事件的广播与接收(观察者模式)
Mar 14 Javascript
js的对象与函数详解
Jan 21 Javascript
vue单页应用的内存泄露定位和修复问题小结
Aug 02 Javascript
vue获取form表单的值示例
Oct 29 Javascript
一分钟学会JavaScript中的try-catch
Dec 14 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
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
PHP Cookie学习笔记
2016/08/23 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
JS中表单的使用小结
2014/01/11 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
Bootstrap媒体对象的实现
2016/05/01 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
python Django编写接口并用Jmeter测试的方法
2019/07/31 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
python如何保证输入键入数字的方法
2019/08/23 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
Python小白垃圾回收机制入门
2020/06/09 Python
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
实习自荐信
2013/10/13 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
2014年学前班工作总结
2014/12/08 职场文书
2015年组织部工作总结
2015/04/03 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
k8s部署redis cluster集群的实现
2021/06/24 Redis
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers