HTML代码:

 1 <form action="" method="post" id="form-data">
2 <div id="content">
3 <div>
4 <label for="username">用户名:</label>
5 <input type="text" name="username" id="username">
6 <span class="error">用户名不能为空!</span> </div>
7 <div>
8 <label for="email">邮箱:</label>
9 <input type="text" id="email" name="email">
10 </input>
11 <span class="error">邮箱格式错误!</span> </div>
12 <div>
13 <label for="tel">电话号码:</label>
14 <input type="text" name="tel" id="tel">
15 <span class="error">电话号码格式正确!</span> </div>
16 <div>
17 <label for="msg">留言:</label>
18 <textarea name="mess" id="mess"></textarea>
19 <span class="error">留言不能为空!</span> </div>
20 <div class="submit-box">
21 <button type="submit">提交</button>
22 </div>
23 </div>
24 </div>
25 </form>

css代码:

 1 #content div label {
2 display: inline-block;
3 width: 100px;
4 text-align: right;
5 }
6 #content div {
7 margin-top: 10px;
8 }
9 #content textarea {
10 vertical-align: top;
11 height: 5em;
12 }
13 #content span {
14 display: none;
15 color: #f00;
16 }
17 .submit-box {
18 padding-left: 50px;
19 }
20 #content input.fail, #content textarea.fail {
21 border: 1px solid #F00;
22 }
23 #content input.succ, #content textarea.succ {
24 border: 1px solid #06F;
25 }

jquery代码:

 1 $(function(){
2 //用户名非空验证
3 $("#username").on("input",function(){
4 var $this=$(this);
5 if($this.val()){
6 $(this).addClass("succ").removeClass("fail");
7 }else{
8 $(this).addClass("fail").removeClass("succ");
9 }
10 })
11 //邮箱验证
12 $("#email").on("input blur",function(){
13 var $this=$(this);
14 var re = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
15 var is_email=re.test($(this).val());
16 if(is_email){
17 $(this).addClass("succ").removeClass("fail");
18 }else{
19 $(this).addClass("fail").removeClass("succ");
20 }
21 });
22 //验证手机号码
23 $("#tel").on("input",function(){
24 var $this=$(this);
25 var re=/1\d{10}/;
26 var is_tel=re.test($(this).val());
27 if(is_tel){
28 $(this).addClass("succ").removeClass("fail");
29 }else{
30 $(this).addClass("fail").removeClass("succ");
31 }
32 });
33 //留言非空验证
34 $("#mess").keyup(function(event) {
35 var $this=$(this);
36 if($this.val()){
37 $(this).addClass("succ").removeClass("fail");
38 }else{
39 $(this).addClass("fail").removeClass("succ");
40 }
41 });
42
43 $("#form-data").submit(function(event){
44 var falg=true;
45 //$('element', this)相当于$(this).find('element')
46 $("input,textarea",this).each(function() {
47 var $this=$(this);
48 var is_succ=$this.hasClass("succ");
49 if(is_succ){
50 $this.siblings(".error").hide();
51 }else{
52 $this.siblings(".error").show();
53 falg=false;
54 }
55 });
56 if(falg){
57 alert("submit success!");
58 }else{
59 event.preventDefault();
60 }
61 });
62
63 })

效果图如下:

用jquery实现简单的表单验证的更多相关文章

  1. jQuery之简单的表单验证

    html部分: <body> <form method="post" action=""> <div class="in ...

  2. JQuery在一个简单的表单验证的例子

    html代码例如以下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  3. 用jQuery写的最简单的表单验证

    近几天完成了关于我们项目的最简单的表单验证,是用jQuery写的,由于之前也一直没学过jQuery,所以自己也是一直处于边摸索边学习的阶段,经过这一段时间的学习,通过查资料啥的,也发现了学习jQuer ...

  4. angularjs学习第四天笔记(第一篇:简单的表单验证)

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...

  5. Struts2之Action三种接收参数形式与简单的表单验证

    有了前几篇的基础,相信大家对于Struts2已经有了一个很不错的认识,本篇我将为大家介绍一些关于Action接收参数的三种形式,以及简单的表单验证实现,下面进入正题,首先我们一起先来了解一下最基本的A ...

  6. 使用 layUI做一些简单的表单验证

    使用 layUI做一些简单的表单验证 <form method="post" class="layui-form" > <input name ...

  7. 简单js表单验证

     简单js表单验证demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org ...

  8. 简单的表单验证插件(Jquery)

    在做web开发的时候经常遇到表单验证问题,表单验证一般有客户端验证和服务器端验证,这个验证插件仅仅能满足我的项目中的基本需求的. Validate_Tools.js function Validate ...

  9. jQuery简单前端表单验证

    <!DOCTYPE html> <html> <head> <title>表单验证</title> <script src=" ...

随机推荐

  1. 20145337《JAVA程序设计》第一周学习总结

    # 20145337 <Java程序设计>第1周学习总结 ## 教材学习内容总结 第一章 -Java最早是Sun公司撰写Star7应用程序的程序语言 -根据应用领域不同,有Java SE. ...

  2. A trip through the Graphics Pipeline 2011_06_(Triangle) rasterization and setup

    Welcome back. This time we’re actually gonna see triangles being rasterized – finally! But before we ...

  3. Apache Spark源码走读之23 -- Spark MLLib中拟牛顿法L-BFGS的源码实现

    欢迎转载,转载请注明出处,徽沪一郎. 概要 本文就拟牛顿法L-BFGS的由来做一个简要的回顾,然后就其在spark mllib中的实现进行源码走读. 拟牛顿法 数学原理 代码实现 L-BFGS算法中使 ...

  4. Jquery--防止冒泡

    e.stopPropagation();//阻止冒泡

  5. java中PriorityQueue优先级队列使用方法

    优先级队列是不同于先进先出队列的另一种队列.每次从队列中取出的是具有最高优先权的元素. PriorityQueue是从JDK1.5开始提供的新的数据结构接口. 如果不提供Comparator的话,优先 ...

  6. Visual C++ 中的重大更改

    https://technet.microsoft.com/zh-cn/learning/bb531344.aspx   当你升级到 Visual C++ 编译器的新版本后,可能会在之前编译并正常运行 ...

  7. C++笔记----构造函数与析构函数(二)

    构造函数是一种特殊的成员函数.在创建对象的时候自动调用,对对象的数据成员进行初始化. (1)栈区中创建的对象,在生存期结束的时候会自动调用析构函数. (2) 在堆上创建的对象,要由程序员显示调用del ...

  8. Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

    /** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode ri ...

  9. js日期字符串增加天数的函数

    //日期加天数的方法 //dataStr日期字符串 //dayCount 要增加的天数 //return 增加n天后的日期字符串 function dateAddDays(dataStr,dayCou ...

  10. Java 并发性和多线程

    一.介绍 在过去单 CPU 时代,单任务在一个时间点只能执行单一程序.之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程.虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个 ...