• DoNet用Ajax实现对修改密码时输入数据合法性的验证


    1.前台页面(Default.aspx):

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>修改密码</title>
        <script type="text/javascript" src="JS/jquery-1.4.2.min.js"></script><%--添加对JQuery类库的引用--%>
        <script type="text/javascript">
    var oldPwdPass=false;
    var newPwdPass=false;
    var newPwd;
    function checkOldPwd(pwd)
    {
       if(pwd==""||pwd==null)
       {
          document.getElementById("get_old_passwordMsg").innerHTML="旧密码不能为空!";
          return false;
       }
       else if(validatePwd(pwd))
       {
          document.getElementById("get_old_passwordMsg").innerHTML="旧密码只能是6-16位的字母或数字!";
          return false;
       }
       else
       {
     
          document.getElementById("get_old_passwordMsg").innerHTML="";
          //下面自动调用引用的JQuery类库
          $.ajax({
                     type:"get",
                     url:"CheckPwd.ashx",//转到一般处理程序
                     data:{"Pwd":pwd,"random":Math.random()},              
                     success:function(data)
                     {              
                         if(data=="true")
                         {
                            oldPwdPass=true;
                            return true;
                         }
                         else
                         {
                            document.getElementById("get_old_passwordMsg").innerHTML="旧密码输入错误!";
                            document.getElementById("get_old_password").value="";
                            return false;
                         }      
                     }                    
             });
       }                 
    }

    function checkNewPwd(pwd)
    {
       if(pwd==""||pwd==null)
       {
          document.getElementById("get_new_passwordMsg").innerHTML="新密码不能为空!";
          return false;
       }
       else if(validatePwd(pwd))
       {
          document.getElementById("get_new_passwordMsg").innerHTML="新密码只能是6-16位的字母或数字!";
          return false;
       }
       else
       {
          newPwd=pwd;
          document.getElementById("get_new_passwordMsg").innerHTML="";
          return true;
       }   
    }

    function checkConfirmNewPwd(pwd)
    {
       if(pwd==""||pwd==null)
       {
          document.getElementById("confirm_new_passwordMsg").innerHTML="确认新密码不能为空!";
          return false;
       }
       else if(validatePwd(pwd))
       {
          document.getElementById("confirm_new_passwordMsg").innerHTML="确认新密码只能是6-16位的字母或数字!";
          return false;
       }
       else
       {
          document.getElementById("confirm_new_passwordMsg").innerHTML="";
          if(newPwd!=""&&newPwd!=null)
          {
             if(newPwd!=pwd)
             {
                document.getElementById("confirm_new_passwordMsg").innerHTML="确认新密码与新密码不一致!";
                document.getElementById("confirm_new_password").value="";
                return false;
             }
             else
             {
                document.getElementById("confirm_new_passwordMsg").innerHTML="";
                newPwdPass=true;
                return true;
             }
          }
          else
          {
             document.getElementById("get_new_passwordMsg").innerHTML="新密码不能为空!";
             return false;
          }
         
       }   
    }

    function validatePwd(pwd)
    {
       regularPaw=/^[\dA-Za-z(!@#$%&)]{6,16}$/;
       if(regularPaw.test(pwd)==false)
       {
          return true;
       }
       else
       {
          return false;
       }
    }

    function updateNewPwd()
    {
        if(oldPwdPass&&newPwdPass)
        {
           oldPwdPass=false;
           newPwdPass=false;
           $.ajax({
                     type:"get",
                     url:"UpdatePwd.ashx",//转到一般处理程序
                     data:{"NewPwd":newPwd,"random":Math.random()},              
                     success:function(data)
                     {              
                         if(data=="true")
                         {
                            document.getElementById("get_old_password").value="";
                            document.getElementById("get_new_password").value="";
                            document.getElementById("confirm_new_password").value="";
                            alert("密码修改成功!");
                         }
                         else
                         {
                            document.getElementById("get_old_password").value="";
                            document.getElementById("get_new_password").value="";
                            document.getElementById("confirm_new_password").value="";
                            alert("密码修改失败,请重新修改!");
                         }      
                     }                    
             });
        }
        else
        {
           alert("请填写完整修改密码所必需的信息!");
        }
        return false;
    }

    </script>
    </head>
    <body>
        <form id="formBody" runat="server">
        <div>
       
       <div>
       <div>
         <b id="psnB1"></b><h3>修改密码:</h3>
       </div> 
       <div class="ln-thin ln-c-mid"></div>
       <div style="height:1px; background-color:White"></div> 
        <table id="psnB1Table">  
         <tbody>  
           <tr>
             <th><label for="get_cust_name">您的会员登录名是:</label></th>
             <td>
               <asp:Label ID="get_cust_name" runat="server" Text="Label" Font-Bold="True"></asp:Label>                   
             </td>                       
           </tr>                          
           <tr>
             <th><label for="get_old_password">旧密码:</label></th>
             <td>
               <input id="get_old_password" type="password" onblur="checkOldPwd(this.value);" CssClass="required oldpawcl"/>&nbsp;<span style="color:Red; font-size:14px">*</span>
               <label id="get_old_passwordMsg"  class="errorMsg"></label>
             </td>
           </tr>
           <tr>
             <th><label for="get_new_password">新密码:</label></th>
             <td>
               <input id="get_new_password" type="password" onblur="checkNewPwd(this.value);" CssClass="required newpawcl"/>&nbsp;<span style="color:Red; font-size:14px">*</span>
               <label id="get_new_passwordMsg" class="errorMsg"></label>
             </td>
           </tr>
           <tr>
             <th><label for="confirm_new_password">确认新密码:</label></th>
             <td>
               <input id="confirm_new_password" type="password" onblur="checkConfirmNewPwd(this.value);" CssClass="required cfnewpawcl"/>&nbsp;<span style="color:Red; font-size:14px">*</span>
               <label id="confirm_new_passwordMsg" class="errorMsg"></label>
             </td>
           </tr>
             
         </tbody>              
        </table>      
        </div>
        <div style="margin-bottom:-1px">
          <div class="ln-thin ln-c-mid"></div>  
          <div style="height:1px; background-color:White"></div>                
          <div id="psnTable4"></div>               
        </div>
        <table>                   
          <tbody>                       
          <tr>                           
           <th>
               &nbsp;</th>                           
           <td>
             <asp:Button ID="Finish" CssClass="Button" runat="server" Text="修 改" OnClientClick="javascript:return updateNewPwd();" />
           </td>                       
          </tr>                   
          </tbody>
          </table>
       
        </div>
        </form>
    </body>
    </html>


    2.后台代码页(Default.aspx.cs):

    using System;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Session["UserId"] = "001";
                Session["UserName"] = "HEHE";
            }
            get_cust_name.Text = Session["UserName"].ToString();//获取当前登录用户的Session中的UserName
        }

    }


    3.一般处理程序1(CheckPwd.ashx):

    <%@ WebHandler Language="C#" class="CheckPwd" %>

    using System;
    using System.Web;

    public class CheckPwd : IHttpHandler, System.Web.SessionState.IRequiresSessionState
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string pwd = context.Request["Pwd"];

            string userId = context.Session["UserId"].ToString();
            string dbPwd = "123456";//演示密码
                   
            //string dbPwd=UpdatePasswordService.GetDbPwd(userId);//自己写的类中的方法,从数据库中取出密码。
            if (pwd == dbPwd)
            {
                context.Response.Write("true");
            }
            else
            {
                context.Response.Write("false");
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

    }


    4.一般处理程序2(UpdatePwd.ashx):

    <%@ WebHandler Language="C#" class="UpdatePwd" %>

    using System;
    using System.Web;

    public class UpdatePwd : IHttpHandler, System.Web.SessionState.IRequiresSessionState
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string newPwd = context.Request["NewPwd"];
            string userId = context.Session["UserId"].ToString();
            bool result = true;//演示结果
            //bool result = UpdatePasswordService.UpdatePwd(userId, encryptPwd);//自己写的类中的方法,更新密码并返回是否成功。
            if (result)
            {
                context.Response.Write("true");
            }
            else
            {
                context.Response.Write("false");
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

    }

  • 相关阅读:
    Python列表介绍和基本操作以及常用方法案例
    Python 字符串以及常用方法案例
    Python 循环语句以及常用方法案例
    Python判断语句以及常用方法案例
    python基础
    Python的简单了解
    node 安装及配件环境变量教程
    vue ui组件库
    Chrome video视频不自动播放解决方案
    在webstorm中配置本地服务器-局域网内其他设备访问(移动端手机访问测试等)
  • 原文地址:https://www.cnblogs.com/liukemng/p/1913278.html
Copyright © 2020-2023  润新知