JS实现记住账号密码功能

5星 · 超过95%的资源 需积分: 48 95 下载量 187 浏览量 更新于2024-09-13 1 收藏 5KB TXT 举报
"这篇资源是关于使用JavaScript实现读取cookie以实现‘记住账号密码’功能的代码示例。" 在Web开发中,特别是在构建登录功能时,常常会遇到“记住账号密码”这一需求。该功能的实现主要依赖于浏览器的cookie机制。Cookie是一种小型数据文本,由服务器设置并在客户端浏览器存储,可用于保存用户的会话信息,如登录状态、用户名等。当用户勾选了“记住密码”选项,系统会将账号和密码信息以cookie的形式存储在用户的浏览器中。 以下代码展示了如何使用JavaScript读取并设置cookie来实现“记住账号密码”的功能: 1. 获取cookie 使用`GetCookie()`函数可以读取指定名称的cookie。在本例中,cookie的名称是一个GUID(全局唯一标识符):`var id="49BAC005-7D5B-4231-8CEA-16939BEACD67";`。函数通过`document.cookie`获取所有cookie,并根据名称分割获取特定cookie的值。 ```javascript function GetCookie(id) { var cookieArr = document.cookie.split(";"); for (var i = 0; i < cookieArr.length; i++) { var cookiePair = cookieArr[i].split("="); /* Removing whitespace at the beginning of the cookie name and compare it with the given string */ if (id == cookiePair[0].trim()) { // Decode the cookie value and return return decodeURIComponent(cookiePair[1]); } } // Return null if the cookie wasn't found return null; } ``` 2. 设置cookie 当用户登录并勾选“记住密码”选项时,使用`SetLastUser()`函数将用户名写入cookie。这个函数将设置一个带有特定过期时间的cookie。例如,下面的代码设置了14天的有效期: ```javascript function SetLastUser(usr) { var expdate = new Date(); expdate.setTime(expdate.getTime() + 14 * (24 * 60 * 60 * 1000)); // 14 days in milliseconds document.cookie = id + "=" + encodeURIComponent(usr) + "; expires=" + expdate.toUTCString(); } ``` 3. 页面加载时自动填充账号 当页面加载时,`window.onload`事件触发`GetLastUser()`函数,检查是否存在存储的cookie。如果找到,它会将cookie中的用户名填充到输入框`txtUserName`中。如果没有找到,会默认填充为“001”。 4. 客户端事件处理 在用户点击登录按钮时,`SetPwdAndChk()`函数会被触发。它首先获取当前输入的用户名,然后检查“记住密码”复选框`chkRememberPwd`是否被选中。如果选中,它会获取密码值并调用`SetLastUser()`函数将密码写入cookie。 以上代码示例提供了一个基础的JavaScript实现,用于在Web应用中实现“记住账号密码”的功能。实际应用中,考虑到安全性,通常还需要对存储在cookie中的数据进行加密处理,防止数据被恶意获取。此外,对于现代Web应用,更推荐使用更安全的本地存储(localStorage或sessionStorage)替代cookie,因为它们提供了更大的存储容量且不会被发送到服务器,从而减少了隐私泄露的风险。