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

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. iOS 崩溃日志分析(个人总结,最实用)

    iOS 崩溃日志分析(个人总结,最实用) 要分析奔溃日志需要三个文件:crash日志,symbolicatecrash分析工具,.dSYM符号集 0. 在桌面创建一个crash文件夹 1. 需要Xco ...

  2. Swift 中关于”??”操作符

    Swift 中关于”??”操作符 Swift 的语法在保证安全和健壮的基础上,又带有很多非常灵活的特性,比如 ?? 操作符就是其中一个.大家可能已经了解它,也可能有些同学不了解它,这里给大家整理了关于 ...

  3. Spring知识点小结(一)

    一.Spring的简介 1.spring是一个full-stack轻量级开源框架    2.spring的两大核心        IoC: inverse of control  控制反转:反转是对象 ...

  4. 牛客网NOIP赛前集训营-提高组18/9/9 A-中位数

    链接:https://www.nowcoder.com/acm/contest/172/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  5. 使用Vscode写python

    在python官网下载好python2.x 或者 3.x, 然后在vscode 下载python插件. 写一个python程序, 运行, vscode会自动提示你配置python执行路径,并帮你创建好 ...

  6. linux命令之文件系统权限操作常用命令

    1.   umask:设置权限掩码 语法:umask [参数] 命令说明:umask可以单独使用,可以设置目录与文件的默认权限,默认权限掩码是022,所以默认目录权限是777-022=755,读权限是 ...

  7. HTML自定义Checkbox框背景色

    input[type=checkbox]{ margin-right:5px; width:13px; height:13px; }input[type=checkbox]:after { width ...

  8. mysql-介绍

    1.mysql几个重要的文件 每个数据库新建后,会产生数据库文件夹,在该文件夹下每张表均对应以下三个文件: xx.frm  存放表结构 xx.MYD    存放表数据 xx.MYI 存放表索引 mys ...

  9. 八、USB驱动分析

    学习目标:分析USB驱动源码结构. 一.Windows下USB驱动理论问题 1. 当usb设备接入PC时,右下角弹出"发现AAA",并弹出对话框,提示安装驱动程序.没有驱动程序,W ...

  10. ruby Logger日志

    1.logger创建 # 输出到标准输出 logger = Logger.new(STDERR) logger = Logger.new(STDOUT) # 输出到指定文件 logger = Logg ...