基于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 相关文章推荐
js截取函数(indexOf,join等)
Sep 01 Javascript
javascript常用的正则表达式实例
May 15 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
Feb 26 Javascript
JQuery中上下文选择器实现方法
May 18 Javascript
JavaScript实现横向滑出的多级菜单效果
Oct 09 Javascript
javascript实现查找数组中最大值方法汇总
Feb 13 Javascript
AngularJS入门教程之更多模板详解
Aug 19 Javascript
浅谈JavaScript 数据属性和访问器属性
Sep 01 Javascript
微信小程序 textarea 详解及简单使用方法
Dec 05 Javascript
JS常用倒计时代码实例总结
Feb 07 Javascript
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
vuex操作state对象的实例代码
Apr 25 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
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
Vue项目history模式下微信分享爬坑总结
2019/03/29 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
Python3标准库总结
2019/02/19 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
python多进程并发demo实例解析
2019/12/13 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
python实现坦克大战
2020/04/24 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
幼儿教师寄语集锦
2014/04/03 职场文书
股份合作协议书范本
2014/04/14 职场文书
销售口号大全
2014/06/11 职场文书
银行党员批评与自我批评
2014/10/15 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书