判断cookie是否过期,如果过期弹出提示
时间: 2023-07-27 08:19:15 浏览: 285
要判断一个cookie是否过期,需要先获取到该cookie的过期时间(expire time),然后与当前时间进行比较判断是否已经过期。
以下是一个示例代码来判断cookie是否过期并弹出提示:
```javascript
function checkCookieExpiration(cookieName) {
var cookieValue = getCookie(cookieName); // 获取指定名称的cookie值
if (cookieValue != "") {
var expireTime = new Date(cookieValue); // 将cookie值转换为日期对象
var now = new Date(); // 获取当前时间
if (expireTime < now) {
alert("Cookie已过期,请重新登录!"); // 如果过期时间早于当前时间,则说明已经过期
return false;
} else {
return true;
}
}
return false;
}
function getCookie(cookieName) {
var name = cookieName + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var cookieArray = decodedCookie.split(';');
for(var i = 0; i < cookieArray.length; i++) {
var cookie = cookieArray[i];
while (cookie.charAt(0) == ' ') {
cookie = cookie.substring(1);
}
if (cookie.indexOf(name) == 0) {
return cookie.substring(name.length, cookie.length);
}
}
return "";
}
```
这个示例代码中,`checkCookieExpiration(cookieName)`函数会接收一个cookie名称作为参数,然后调用`getCookie(cookieName)`函数获取cookie值,并将其转换为日期对象。然后,它会将当前时间与cookie过期时间进行比较,如果cookie已经过期,则弹出提示信息,否则返回true。
请注意,这个示例代码中假设cookie的值已经是一个日期格式的字符串,例如"Thu, 18 Jul 2019 13:50:32 GMT"。如果您的cookie值是一个不同的格式,您需要相应地调整代码来进行处理。
阅读全文