js 如何设置和获取cookie,封装一个setCookie和getCookie的工具函数
warning:
这篇文章距离上次修改已过238天,其中的内容可能已经有所变动。
在JavaScript中,您可以使用document.cookie
属性来设置和获取cookie。以下是如何封装设置和获取cookie的工具函数:
// 设置cookie
function setCookie(name, value, daysToLive) {
const expires = daysToLive ? `; expires=${new Date(Date.now() + daysToLive * 864e5).toUTCString()}` : '';
document.cookie = `${name}=${encodeURIComponent(value)}${expires}; path=/`;
}
// 获取cookie
function getCookie(name) {
const matches = document.cookie.match(new RegExp(
`(?:^|; )${name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$&')}=([^;]*)`
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
// 使用示例
setCookie('user', 'John Doe', 7); // 设置cookie,有效期为7天
const user = getCookie('user'); // 获取cookie
console.log(user); // 输出: John Doe
这里的setCookie
函数接受cookie的名字、值和有效期(以天为单位)作为参数,并计算了过期时间。getCookie
函数接受cookie的名字作为参数,并返回对应的值,如果cookie不存在则返回undefined
。
评论已关闭