实现一个类似如此效果的表单验证:

1.前台一开始用JQuery实现,先来上HTML标记:

<body>
    <form id="form1" runat="server">
    <table class="tble">
    <tr><td class="td1">用户名&nbsp;<input type="text" class="td" /></td></tr>
    <tr><td class="td2">密码&nbsp;<input type="text" class="td"/></td></tr>
    <tr><td class="td3">邮箱&nbsp;<input type="text" class="td" /></td></tr>
    <tr><td class="td4">确认密码&nbsp;<input type="text" class="td" /></td></tr>
    <tr><td><input class="btton1"  type="button" value="提交" /></td><td><input class="btton2" type="reset" value="重置" /></td></tr>
    </table>
    </form>
</body>

2,然后是CSS代码:

<style type="text/css">
            .tble
            {
              font-size:14px;
              text-align:right;
              position:absolute;
              left:550px;
              top:150px;
                }
        .td
        {
          border:2px #CCCCCC solid;
      
            }
            .btton1
            {
               position:absolute;
               left:65px;
          
                }
                 .btton2
            {
               position:absolute;
               left:110px;
          
                }
                .span
                {
                    color:#cccccc;
                    font-size:14px;
                     text-align:right;
                    }
                    .spanPwd2
                    {
                         color:Red;
                        }
                         .spanPwd3
                    {
                         color:Red;
                        }
                                .spanPwd4
                    {
                         color:Red;
                        }
                        .spanPwd5
                        {
                          color:Green;
                            }
                            .spanPwd6
                            {
                                color:Red;
                                }
    </style>

3.编写JQUery代码前需要引入JQuery支持文件:

<script src="jquery-1.4.1.min.js" type="text/javascript"></script>

4.现在开始编写JQuery代码:

<script type="text/javascript">
        $(function () {
            GetStyle();
            GetPassword();
            GetEmail();

function GetStyle() {

$("input.td").focus(function () {

//===================密码样式处理===================================
                    $(this).css("border", "2px #00ccff solid");
                    var span = "<td class='span'><span>请输入密码</span></td>";
                    $(this).parent().parent().find("td.td2").after(span);
                    $(this).parent().parent().find("td.spanPwd2").remove();
                    $(this).parent().parent().find("td.spanPwd3").remove();

$(this).parent().parent().find("td.spanPwd4").remove();

$(this).parent().parent().find("td.spanPwd5").remove();
                    //==================================================================
                    //================邮箱样式处理==============================
                    $(this).css("border", "2px #00ccff solid");
                    var spanEmail = "<td class='span'><span>请输入正确邮箱地址</span></td>";
                    $(this).parent().parent().find("td.td3").after(spanEmail);
                    $(this).parent().parent().find("td.spanPwd6").remove();

$(this).parent().parent().find("td.spanPwd5").remove();
                    //===================用户名样式处理========================
                    $(this).css("border", "2px #00ccff solid");
                    var spanEmail = "<td class='span'><span>请输入正确用户名</span></td>";
                    $(this).parent().parent().find("td.td1").after(spanEmail);
                    $(this).parent().parent().find("td.spanPwd6").remove();

$(this).parent().parent().find("td.spanPwd5").remove();
                })
            }

//================确认密码的验证================================
            //非空验证
            //确认密码与原密码一致性的验证

function GetPassword() {
                $("input.td").blur(function () {
                    //================密码验证=================================
                    //非空验证
                    if ($(this).val() == "") {
                        $(this).css("border", "2px red solid");
                        $(this).parent().parent().find("td.span").remove();
                        var span = "<td class='spanPwd2'><span>密码不能为空!</span></td>";
                        $(this).parent().parent().find("td.td2").after(span);

return false;
                    }

//密码长度的验证
                    else if ($(this).val().length < 6 || $(this).val().length > 12) {
                        $(this).css("border", "2px red solid");
                        $(this).parent().parent().find("td.span").remove();
                        var span = "<td class='spanPwd3'><span>密码长度必须为6位到12位之间!</span></td>";
                        $(this).parent().parent().find("td.td2").after(span);

return false;
                    }
                    //如果密码不为数字
                    else if (isNaN($(this).val()) == true) {
                        $(this).css("border", "2px red solid");
                        $(this).parent().parent().find("td.span").remove();
                        var span = "<td class='spanPwd4'><span>密码必须为数字!</span></td>";
                        $(this).parent().parent().find("td.td2").after(span);
                        return false;
                    }

else {
                        //密码格式通过
                        $(this).css("border", "2px #cccccc solid");
                        $(this).parent().parent().find("td.span").remove();
                        var span = "<td class='spanPwd5'><span>密码格式通过!</span></td>";
                        $(this).parent().parent().find("td.td2").after(span);
                        return true;

}

});

}

//=====================邮箱验证开始========================
            function GetEmail() {
                $(".td3 input").blur(function () {
                    var patten = new RegExp(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/);

//非空验证
                    if ($(".td3 input").val() == "") {
                        $(this).css("border", "2px red solid");
                        $(this).parent().parent().find("td.span").remove();
                        var spanxEmail = "<td class='spanPwd6'><span>邮箱不能为空!</span></td>";
                        $(this).parent().parent().find("td.td3").after(spanxEmail);
                        return false;
                    }
                    //邮箱格式验证

else if (patten.test($(".td3 input").val()) == false) {
                        $(this).css("border", "2px red solid");
                        $(this).parent().parent().find("td.span").remove();
                        var span = "<td class='spanPwd4'><span>邮箱格式不正确,请重新填写 !</span></td>";
                        $(this).parent().parent().find("td.td3").after(span);
                        return false;
                    } else {
                        //邮箱格式通过
                        $(this).css("border", "2px #cccccc solid");
                        $(this).parent().parent().find("td.span").remove();
                        var spanEmail = "<td class='spanPwd5'><span>邮箱格式通过!</span></td>";
                        $(this).parent().parent().find("td.td3").after(spanEmail);
                        return true;
                    }

});
            }

//==========================邮箱验证结束============================

//================用户名验证=================================
            function GetUserName() {

$(".td1 input").blur(function () {

//非空验证
                    if ($(this).val == "") {
                        $(this).css("border", "2px red solid");
                        $(this).parent().parent().find("td.span").remove();
                        var span = "<td class='spanPwd6'><span>用户名邮箱不能为空!</span></td>";
                        $(this).parent().parent().find("td.td1").after(span);
                        return false;
                    }
                    //用户名长度的验证    
                    else if ($(this).length < 4 || $(this).length > 20) {
                        $(this).css("border", "2px red solid");
                        $(this).parent().parent().find("td.span").remove();
                        var spanxEmail = "<td class='spanPwd6'><span>用户名格式不对,只能输入4-20字符!</span></td>";
                        $(this).parent().parent().find("td.td1").after(spanxEmail);
                        return false;
                    }

//用户名格式验证通过
                    else {
                        $(this).css("border", "2px #cccccc solid");
                        $(this).parent().parent().find("td.span").remove();
                        var spanUserName = "<td class='spanPwd5'><span>用户名格式通过!</span></td>";
                        $(this).parent().parent().find("td.td3").after(spanUserName);
                        return true;
                    }

});
            }

//========================点击按钮与服务器互交验证==============
            $("tr td input.btton1").click(function () {
                if (GetUserName() && GetEmail() && GetPassword()) {

var userName = $("td.td1 input").val(); //用户名
                    var userPwd = $("td.td2 input").val(); //密码
                    var userRepass = $("td.td3 input").val(); //确认密码
                    var email = $("td.td4 input").val(); //邮箱
                    GetAjax(userName, userPwd, userRepass, email);
                }
            });

function GetAjax(userName, userPwd, userRepass, email) {
                var json = [{ "userName": userName, "userPwd": userPwd, "userRepass": userRepass, "email": email}];
                $.post("ProcessResult.aspx?jon=" + json, function (data) {
                    if (data == "false") {
                        alert("用户名重复了,请重新输入!");
                    } else if (data == "ok") {
                        alert("注册成功!");
                    } else {
                        alert("对不起,你的输入有误,请检查输入");
                    }
                })
            }
        });
    </script>

5,实现如下效果:

我没有实现后台JQuery校验,下次有机会一并补上,这次先写到这里,只实现纯前端的效果。

QQ:534464222,欢迎交流

JQuery实现的智能表单提示的更多相关文章

  1. BootStrap 智能表单系列 七 验证的支持

    但凡是涉及到用户编辑信息然后保存的页面,都涉及到一个数据是否符合要求的检查,需要客服端和服务器端的校验的问题: 客服端的校验主要是为了提高用户体验,而服务器端的校验为了数据的合格性 该插件也为您支持到 ...

  2. 第86天:HTML5应用程序标签和智能表单

    一.HTML5应用程序标签 1.datalist需要数据载体 input list属性指向数据源 2.progress进度条 -webkit-appearance: none;   /*如果要改默认样 ...

  3. jquery通过class验证表单不能为空

    在开发系统时,往往都有某些表单数据为必填项,若用jQuery通过ID去验证,不仅会影响效率,还会有所遗漏,不易于后期维护. 本章将介绍如何利用jQuery,通过为表单配置class进行统一验证.(ID ...

  4. HTML5_智能表单

    1.HTML5中为了方便排版,可以使from中的表单标签脱离from的嵌套.方法:from指定ID,所有表单标签均添加from=id属性. <form action="http://l ...

  5. BootStrap 智能表单系列 十 自动完成组件的支持

    web开发中,肯定遇到像百度.google这种搜索的功能吧,那智能表单中的自动完成可以做什么呢,下面来揭晓: 1.包含像google.百度等类似的简单搜索 2.复杂结构的支持,比如说 输入产品编号,需 ...

  6. BootStrap 智能表单系列 九 表单图片上传的支持

    本章介绍如何在生成表单后,可以支持上传图片后可以及时预览图片 代码如下(连接地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/maste ...

  7. BootStrap 智能表单系列 六 表单数据绑定(编辑页面的数据绑定)

    本章介绍如何在生成表单后,将一个model的数据展示到form表单中(一般用于编辑页面) 代码如下(连接地址:https://github.com/xiexingen/Bootstrap-SmartF ...

  8. BootStrap 智能表单系列 八 表单配置json详解

    本章属于该系列的高级部分,将介绍表单中一些列的配置 1.config列的配置: 主要用于控制布局 :config:{autoLayout:true|'1,2,2,4'} true:根据配置项最里层的数 ...

  9. BootStrap 智能表单系列 四 表单布局介绍

    表单的布局分为自动布局和自定义布局两种: 自动布局就是根据配置项中第二级配置项中数组的长度来自动使用不同的bootstrap栅格,通过设置autoLayout为true可以实现自动布局 自动以布局就是 ...

随机推荐

  1. vue+nodejs+express+mysql 建立一个在线网盘程序

    vue+nodejs+express+mysql 建立一个在线网盘程序 目录 vue+nodejs+express+mysql 建立一个在线网盘程序 第一章 开发环境准备 1.1 开发所用工具简介 1 ...

  2. JS基础——浅谈前端页面渲染和性能优化

    加载html中的静态资源 其中,加载静态资源的过程,一般为浏览器根据DNS服务器得到域名的IP地址,然后向这个IP的机器发送http请求,服务器收到.处理并返回http请求,浏览器得到返回http请求 ...

  3. Mybatis中多个参数的问题&&动态SQL&&查询结果与类的对应

    ### 1. 抽象方法中多个参数的问题 在使用MyBatis时,接口中的抽象方法只允许有1个参数,如果有多个参数,例如: Integer updatePassword( Integer id, Str ...

  4. Spring-Boot ☞ ShapeFile文件读写工具类+接口调用

    一.项目目录结构树 二.项目启动 三.往指定的shp文件里写内容 (1) json数据[Post] { "name":"test", "path&qu ...

  5. 文件 I/O缓冲流

    import java.io.File; import java.io.Writer; import java.util.StringTokenizer; import java.io.Reader; ...

  6. array_x

    import java.util.*; public class array_x { public static void main(String args[]) { int a[][]={{2,4, ...

  7. 当安装mongodb客户端出现了Failed to load list of databases

    在装mongodb最新版(4.1.5开发版)服务后,我用robo3t打开它的时候遇到了这个问题. 最直接的解决办法就是换一个mongodb版本,https://github.com/Studio3T/ ...

  8. 深入了解jQuery Mobile-1

    介绍 jQuery Mobile是一种触控优化的HTML5 UI框架,旨在制作可在所有智能手机,平板电脑和台式机设备上访问的响应式网站和应用程序 移动页面结构 jQuery Mobile站点必须以HT ...

  9. HDOJ 1176 免费馅饼(完全背包)

    参考:https://blog.csdn.net/hhu1506010220/article/details/52369785 https://blog.csdn.net/enjoying_scien ...

  10. WebSocket 的使用

    Java 控制台程序实现类似广播功能 服务器端代码 添加 maven 依赖 <dependency> <groupId>javax.websocket</groupId& ...