JS中使用Cookie实现记住密码以及设置密码过期时间

简介: JS中使用Cookie实现记住密码以及设置密码过期时间

在JavaScript中,可以使用`document.cookie`来操作和获取cookie。


要记住密码,可以在用户登录成功后,设置一个带有用户名和密码的cookie,设置过期时间为一段较长的时间,比如一周。当用户再次访问网站时,可以先检查是否存在该cookie,如果存在则自动填充用户名和密码。


下面是一个示例代码:

// 设置cookie
function setCookie(cname, cvalue, exdays) {
  var d = new Date();
  d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
  var expires = "expires=" + d.toUTCString();
  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

// 获取cookie
function getCookie(cname) {
  var name = cname + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.split(';');
  for(var i = 0; i <ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) === ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) === 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}

// 检查是否存在记住密码的cookie
function checkRememberMe() {
  var username = getCookie("username");
  var password = getCookie("password");

  if (username !== "" && password !== "") {
    // 填充用户名和密码
    document.getElementById("username").value = username;
    document.getElementById("password").value = password;
  }
}

// 登录按钮点击事件
function login() {
  var username = document.getElementById("username").value;
  var password = document.getElementById("password").value;
  var rememberMe = document.getElementById("rememberMe").checked;

  // 处理登录逻辑...

  if (rememberMe) {
    // 设置记住密码的cookie
    setCookie("username", username, 7);
    setCookie("password", password, 7);
  } else {
    // 清除记住密码的cookie
    setCookie("username", "", -1);
    setCookie("password", "", -1);
  }
}

// 在页面加载时检查是否存在记住密码的cookie
window.onload = function() {
  checkRememberMe();
};
``` 

上面的代码中,`setCookie`函数用于设置cookie,`getCookie`函数用于获取cookie,`checkRememberMe`函数用于检查是否存在记住密码的cookie并填充用户名和密码,`login`函数是一个示例的登录函数,具体的登录逻辑需要根据实际情况进行修改。


在HTML中,可以使用以下代码来调用上述的JavaScript函数:

```html
<input type="text" id="username" placeholder="Username">
<input type="password" id="password" placeholder="Password">
<label><input type="checkbox" id="rememberMe"> Remember me</label>
<button οnclick="login()">Login</button> 

以上示例代码演示了如何使用cookie实现记住密码的功能。当用户选择记住密码时,用户名和密码会被保存到cookie中,并在下次访问网站时自动填充。当用户取消记住密码时,cookie会被清除。根据实际情况而定                              

相关文章
|
7天前
|
JavaScript API
蓝易云 - 如何使用CORS来允许设置Cookie
以上就是使用CORS来允许设置Cookie的方法。
7 2
|
9天前
|
JavaScript
JS移动端设置mouseover,mouseleave有效么
JS移动端设置mouseover,mouseleave有效么
|
1天前
|
算法 JavaScript 安全
一篇文章讲明白JavaScript_提交表单和MD5算法密码加密
一篇文章讲明白JavaScript_提交表单和MD5算法密码加密
|
1天前
|
算法 JavaScript 安全
一篇文章讲明白JavaScript_提交表单和MD5算法密码加密
一篇文章讲明白JavaScript_提交表单和MD5算法密码加密
|
6天前
|
XML 移动开发 前端开发
JS设置Ajax为同步或异步
JS设置Ajax为同步或异步
6 0
|
9天前
|
存储 JavaScript 前端开发
JavaScript如何使用Cookie存值
JavaScript如何使用Cookie存值
|
1月前
|
JavaScript 定位技术 API
[JS]百度地图设置城市
[JS]百度地图设置城市
21 1
|
1月前
|
JavaScript 前端开发
JavaScript如何设置定时器,怎么清除定时器
JavaScript如何设置定时器,怎么清除定时器
48 3
|
1月前
|
JavaScript 前端开发 网络协议
利用Node.js和cpolar实现远程访问,无需公网IP和路由器设置的完美解决方案
利用Node.js和cpolar实现远程访问,无需公网IP和路由器设置的完美解决方案
33 0
|
14天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的校园竞赛管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的校园竞赛管理系统附带文章源码部署视频讲解等
163 63