基于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笔记 数据的存储与访问性能优化
Aug 02 Javascript
如何在MVC应用程序中使用Jquery
Nov 17 Javascript
JavaScript隐式类型转换
Mar 15 Javascript
vue.js入门教程之计算属性
Sep 01 Javascript
基于AngularJS实现iOS8自带的计算器
Sep 12 Javascript
详解Vue中状态管理Vuex
May 11 Javascript
vue-cli中的webpack配置详解
Sep 25 Javascript
Vuex提升学习篇
Jan 11 Javascript
vue  directive定义全局和局部指令及指令简写
Nov 20 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
Feb 22 Javascript
JavaScript实现移动端弹窗后禁止滚动
May 25 Javascript
什么是SOLID
Mar 24 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
Ajax PHP 边学边练 之三 数据库
2009/11/26 PHP
php Calender(日历)代码分享
2014/01/03 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
vue指令以及dom操作详解
2017/03/04 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
python 正确保留多位小数的实例
2018/07/16 Python
python多线程并发实例及其优化
2019/06/27 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
Python中Qslider控件实操详解
2021/02/20 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
柯基袜:Corgi Socks
2017/01/26 全球购物
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
教师求职信怎么写
2015/03/20 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android