`
Tank03
  • 浏览: 78725 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

简单实现表单验证的效果

阅读更多

这是我以前有学到的一个简单的小例子,今天重装系统的时候居然发现它,就把它贴上来.原理是一样的.

 

   其中大致流程是用户点击页面右上角的登录链接接着弹出div模拟窗口,该窗口通过iframe调用Login.aspx页面,用户输入用户名,密码和验证码后,Login.aspx页面的jQuery代码postLogin.ashx页面处理,Login.ashx页面可以算是简易的aspx页面吧。

   当然你用LoginProcess.aspx 也是可以的。Login.ashx页面处理完把结果返回给Login.aspx页面处理,result变量用与接收结果。

 

如果返回1表示登录成功,则关闭模拟窗口。

 

 

主页面调用代码片段:

<asp:HyperLink ID="lnkLogin" runat="server" NavigateUrl="#" >登录</asp:HyperLink> 

<script language="javascript" type="text/javascript"> 
$('#<%=this.lnkLogin.ClientID %>').click( 
function(){ 
jBox.open('iframe-jBoxID','iframe','Login.aspx','用户登录 
','width=400,height=250,center=true,draggable=true,model=true'); 
} ); 
</script> 

 

Login.aspx代码

<form id="form1" onsubmit="return false;"> 
<table id="login-table"> 
<tr> 
<td width="60">学号:</td> 
<td><input class="textbox" type="text" style="width:160px;" id="txtUserName" 
maxlength="9" onblur="checkUserName()" onclick="$.trim(this.value)"/><span></span> 
</td> 
</tr> 
<tr> 
<td width="60">密码:</td> 
<td><input class="textbox" type="password" style="width:160px;" id="txtUserPwd" 
onblur="checkUserPwd()" onclick="$.trim(this.value)" /><span></span> 
</td> 
</tr> 
<tr> 
<td width="60">验证码:</td> 
<td><input class="textbox" type="text" style="width:160px;" maxlength="5" 
id="txtCheckCode" onblur="checkCheckCode()" onclick="$.trim(this.value)"/><span> 
</span> 
</td> 
</tr> 
<tr> 
<td width="60"></td> 
<td><div style="color:#808080;">输入下图中的字符,不区分大小写</div><br /> 
<img src="CheckCode.aspx" style="vertical-align:middle;" alt="验证码" id="imgCheckCode" /> 
<a href="#" id="change_image">看不清,换一张</a></td> 
</tr> 
<tr> 
<td width="60"></td> 
<td><input type="image" src="App_Themes/Images/btn_login.jpg" id="btnLogin" 
alt="马上登录" style="border:0;"/></td> 
</tr> 
</table> 
</form> 

 

jQuery代码:

 

$(document).ready(function(){ 
// 验证码更新 
$('#change_image').click( 
function(){ 
$('#imgCheckCode').attr('src','CheckCode.aspx?'+Math.random()); 
}); 
//关键的代码 
$("#btnLogin").click(function(){ 
if(checkUserName() && checkUserPwd() && checkCheckCode()) 
{ 
var data = { 
UserName: $('#txtUserName').val(), 
UserPwd: $('#txtUserPwd').val(), 
CheckCode: $('#txtCheckCode').val() 
}; 
//提交数据给Login.ashx页面处理 
$.post("Ajax/Login.ashx",data,function(result){ 
if(result == "1") //登录成功 
{ 
alert("登录成功!您可以进行其他操作了!"); 
// 关闭模拟窗口 
window.parent.window.jBox.close(); 
} 
else if(result == "2") //验证码错误 
{ 
$('#txtCheckCode').next("span").css("color","red").text("* 
验证码错误"); 
} 
else 
{ 
alert("登录失败!请重试"); 
} 
}); 
} 
else 
{ 
checkUserName(); 
checkUserPwd(); 
checkCheckCode(); 
} 
}); 
}); 

//check the userName 
function checkUserName() 
{ 
if($("#txtUserName").val().length == 0) 
{ 
$("#txtUserName").next("span").css("color","red").text("*用户名不为空"); 
return false; 
} 
else 
{ 
var reg = /^\d{9}$/; 
if(!reg.test($('#txtUserName').val())) 
{ 
$('#txtUserName').next("span").css("color","red").text("*正确的格式 
如:030602888"); 
return false; 
} 
else 
{ 
$("#txtUserName").next("span").css("color","red").text(""); 
return true; 
} 
} 
} 
//check the pwd 
function checkUserPwd() 
{ 
if($('#txtUserPwd').val().length == 0) 
{ 
$('#txtUserPwd').next("span").css("color","red").text("*密码不为空"); 
return false; 
} 
else 
{ 
$('#txtUserPwd').next("span").css("color","red").text(""); 
return true; 
} 
} 
// check the check code 
function checkCheckCode() 
{ 
if($('#txtCheckCode').val().length == 0) 
{ 
$('#txtCheckCode').next("span").css("color","red").text("*验证码不为空"); 
return false; 
} 
else 
{ 
$('#txtCheckCode').next("span").css("color","red").text(""); 
return true; 
} 
} 

 

Login.ashx代码:

 

 

using System; 
using System.Collections; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Services; 
using System.Web.Services.Protocols; 
using System.Xml.Linq; 
using System.Data.SqlClient; 
using System.Web.SessionState; //支持session必须的引用 

namespace Website.Ajax 
{ 
[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
public class Login : IHttpHandler,IRequiresSessionState 
{ 
public void ProcessRequest(HttpContext context) 
{ 
context.Response.ContentType = "text/plain"; 
string checkCode = ""; 
if (context.Session["checkCode"] != null) 
{ 
checkCode = Convert.ToString(context.Session["checkCode"]).ToLower(); 
} 
if (context.Request.Form["CheckCode"].ToLower() == checkCode) 
{ 
using (SqlConnection conn = new 
SqlConnection(SqlHelper.StudentConnectionString)) 
{ 
string sql = "select ID,stuNumber,userPassword,realName from 
t_stuUser where stuNumber=@UserName and userPassword=@UserPwd"; 
SqlCommand cmd = new SqlCommand(sql, conn); 
SqlParameter pUserName = cmd.Parameters.Add("@UserName", 
SqlDbType.VarChar, 30); 
SqlParameter pUserPwd = cmd.Parameters.Add("@UserPwd", 
SqlDbType.VarChar, 150); 
pUserName.Value = context.Request.Form["UserName"]; 
pUserPwd.Value = Common.MD5(context.Request.Form["UserPwd"]); 
conn.Open(); 
SqlDataReader sdr = 
cmd.ExecuteReader(CommandBehavior.CloseConnection); 
if (sdr.Read()) 
{ 
context.Session["UserID"] = Convert.ToString(sdr["ID"]); 
context.Session["StuName"] = 
Convert.ToString(sdr["realName"]); 
context.Session["StuNumber"] = 
Convert.ToString(sdr["stuNumber"]); 
context.Response.Write("1"); // 登录成功 
} 
else 
{ 
context.Response.Write("0"); //登录失败,用户名或密码错误 
} 
} 
} 
else 
{ 
context.Response.Write("2"); // 验证码错误 
} 
} 

public bool IsReusable 
{ 
get 
{ 
return false; 
} 
} 
} 
} 
 

 

 

 

分享到:
评论

相关推荐

    纯CSS3实现表单验证效果(非常不错)

    如效果演示,我们今天就通过简单几行CSS就可实现。 主要介绍内容 1、CSS3用户接口模块中的伪类 2、自定义错误消息 正文 既然是表单,我们得有基础的表单HTML结构,下面是我创建的结构,三个表单都是必填字段,并且...

    JS实现表单验证功能(验证手机号是否存在,验证码倒计时)

    js实现表单验证功能,通过js代码验证手机号是否存在验证码倒计时功能,代码简单易懂非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧

    jquery实现表单验证简单实例演示

    本文实例讲述了jquery实现表单验证代码。分享给大家供大家参考。具体如下: 运行效果截图如下: 具体代码如下: 直接上插件实现代码了,围绕代码进行讲解比较容易点: /* 描述:基于jquery的表单验证插件。 */ ...

    JavaScript实现的可视化表单设计器源码.zip

    JavaScript实现的可视化表单设计器源码。实现的可视化表单设计器。基于Vue的可视化表单设计器,让表单开发简单而高效。 特性如下: 可视化配置页面 提供栅格布局,并采用...支持表单验证 快速获取表单数据 国际化支持

    jQuery表单验证功能实例

    这里使用jquery实现的表单验证效果,以Ajax方式验证你的表单是否填写正确,如果验证不通过,会将表单元素背景变成红色,并给出提示信息,简单实用,jquery表单验证功能已经有很多了,本款表单验证特效看上去更简单,...

    jquery表单验证实例仿Toast提示效果

    主要介绍了jquery验证表单仿Toast提示效果,实现代码简单易懂,非常不错,需要的朋友可以参考下

    css骚操作表单验证功能的实现代码

    于是就可以随便搞啦,上面的效果图只是做一些简单的效果,更多效果以及限制大家就发挥自己的想象力咯; html 布局很简单,input跟button是兄弟节点的关系,required属性是必填的意思,也就是输入的内容必须要验证...

    带动画效果的Ajax html5表单.rar

    鼠标放在表单任意输入框上时,该输入框高亮并且变大显示,边框高亮,若某项表单中输入的数据与初设定义的不符或未填写,则会立即显示出Ajax浮动提示效果,在HTML5环境下,结合jquery实现Ajax表单验证,似乎是非常...

    强大的 Angular 表单验证功能详细介绍

    Angular 支持非常强大的内置表单验证,maxlength、minlength、required 以及 pattern。使用 Angular 的内置表单校验能够完成绝大多数的业务场景的校验需求,但有时我们还需要实现更为复杂的表单校验功能,这时可以...

    js实现表单检测及表单提示的方法

    主要介绍了js实现表单检测及表单提示的方法,涉及javascript表单元素提示效果的相关技巧,非常简单实用,需要的朋友可以参考下

    JavaScript语言教程&案例&相关项目

    表单验证: 编写 JavaScript 代码实现对表单输入的验证,例如检查用户名、密码、邮箱格式是否符合要求。 图片轮播: 使用 JavaScript 编写代码实现一个简单的图片轮播效果,让网页上的图片自动切换显示。 动态生成...

    formValidator:自制基于jqeury的表单验证插件,简易版

    [描 述] jQuery formValidator表单验证插件,它是基于jQuery类库,实现了js脚本于页面的分离。本插件内置模拟placeholde效果,调用方便,采用参数配置的思想,将错误提示信息放于输入框内。内置身份证号码验证规则,...

    如何使用Bootstrap创建表单

    Bootstrap 通过一些简单的 HTML 标签和扩展的类即可创建出不同样式的表单。 垂直或基本表单 基本的表单结构是 Bootstrap 自带的,个别的表单控件自动接收一些全局样式。下面列出了创建基本表单的步骤: – 向父 &lt;...

    jquer实例大全【清晰版】

    jquery表单验证插件form_validation.js jQuery表格导出数据 jQuery表格导入Excel文件 jQuery表格拖动排序插件TableDnD jQuery常用网站商品分类筛选功能 jquery-弹出表单录入商品信息 jQuery弹出层插件popupWindow.js...

    基于html+css+js实现的共享视频静态网站(含报告)

    系统要求 1).使用百度图片搜索功能,搜索美观大方的登录页面和注册页面,...CSS选择器、文字效果、表单、图片展示、表格、布局;JavaScript代码编写,包括基本语法、程序结构和数据采集及数据有效性验证等相关内容。

    jQuery实现表单步骤流程导航代码分享

    主要介绍了jQuery实现表单步骤流程导航,代码实现效果简单精致,推荐给大家,有需要的小伙伴可以参考下。

    Angularjs使用指令做表单校验的方法

    通常,使用angular做表单验证,一般都是把验证规则单独写为service,然后通过依赖注入的方式调用。在个别情况下,例如用户注册表单,需要根据用户输入给出不同提示信息,使用service略显不合适宜,所以可以采用指令...

    JQuery&CSS;&CSS;+DIV实例大全.rar

    3.jQuery表单验证插件EasyValidator 2.0带TIP提示效果 4.jQuery导航插件下载之支持三级的Menu暖色、动画、折叠功能的导航菜单 5.jquery美化CheckBox的插件下载 6.jQuery美化表单漂亮插件jqtransform下载 7....

    web开发常用js库(效果库、架构库)

    18.常用表单验证; 19.左滑删除; 20.复选框全选与取消选中; 21.内容拖动!!!!!!; 22.dom输入; 23.单例定时器; 24.ios软键盘弹出fixed定位问题处理!!!!!!; B:架构类; 1.流程控制-主要解决多个ajax调用依赖问题...

    jQuery简单用户登录注册页面模板.zip

    jQuery简单用户登录注册页面模板基于jquery-1.7.2.min.js制作,有表单验证功能,页面切换效果。

Global site tag (gtag.js) - Google Analytics