JQuery实现的智能表单提示

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

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,欢迎交流

时间: 2024-08-13 13:02:17

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

HTML5 智能表单

1.表单新增属性  ? autofocus 属性 <input type="text" autofocus/>设置 autofocus 属性,使文本框自动获得焦点 注意:一个页面中最多只能有一个表单元素设置该属性,否则功能将失效,建议对第一个input元素设置autofocus属性. ? formaction 属性 <input type="submit" formaction="处理逻辑"><!-- 处理逻辑可为a

jQuery Validate 插件,表单验证功能

连接地址:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 该插件是由 Jör

jQuery Validate【为表单提供了强大的验证功能,让客户端表单验证变得更简单】

jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 该插件是由 J?rn Zaefferer 编写和维护的,他是 jQuery 团队的一名成员,是 jQuery UI 团队的主要开发人员,是 QUn

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

web开发中,肯定遇到像百度.google这种搜索的功能吧,那智能表单中的自动完成可以做什么呢,下面来揭晓: 1.包含像google.百度等类似的简单搜索 2.复杂结构的支持,比如说 输入产品编号,需要将产品的编号.产品的名称.产品的单价.产品的备注信息等填写会表单中的某个位置 代码如下(页面地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/master/demo/form3-ele-autocomplete.html): 自动完成

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

本章介绍如何在生成表单后,可以支持上传图片后可以及时预览图片 代码如下(连接地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/master/demo/form3-ele-img.html): 依赖jquery-file-upload插件,需要引用jquery.ui.widget.js.jquery.iframe-transport.js.jquery.fileload.js 调用global.Fn.InitPlugin('img',

form的智能表单

1.智能表单的介绍 其中,(1)中的使用格式使得form不会太臃肿. 2.使用规范 3.新属性 4.举例 二.程序 1.关于邮件的问题 1 <!DOCTYPE html> 2 <head> 3 <meta charset=utf-8> 4 <title>form test</title> 5 </head> 6 <body> 7 <form id="for" action=""

使用jquery实现的清空表单元素代码实例

使用jquery实现的清空表单元素代码实例:如果表单的元素较多的话,如果想情况以前填写的内容可能有点耗费体力,不够人性化,下面就介绍一下如何利用jquery代码实现快捷清除表单元素内容的功能,先看一段代码实例: $('#theform')[0].reset(); 很朋友可能认为上面的代码就完全实现我们的要求,其实这是错误的,reset()函数是重置的意思,也就是将表单元素的值重置为默认值而不是清空,如下面的文本框: <input type="text" value="蚂

BootStrap 智能表单

背景:本码农.NET后端工程师,由于现在的公司后端能玩到的东西不怎么深入(一般也就sql.linq.反射.wcf....),所以申请玩玩前端的东西,在负责的一个电商项目中发现很大一部分是根据表结构来构建form表单的,而且模块还很多的,特别是表的列名都还没确定的时候需要先出界面,等后面表列名确定后又的重新来给表单元素加上id.name等,尼玛感觉这样下去就是一真正的码农了,于是自己整了一套根据配置来生成form表单的插件 源码地址(github):BootStrap智能表单 本系列将包括 1.表

HTML5学习之智能表单(二)

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form