前端获取cookie值_cookie介绍

概念

Cookie用于存储web页面的用户信息,由用户客户端计算机暂时或永久保存的信息。

构成

Cookie由名键值对、有效期、作用域、安全性等组成。

Name=Value

设置Cookie的名称及对应的值。

Expires = 日期

有效期一般分为会话性和持久性,默认是会话性。

Path = 路径

定义Web应用可访问的目录。

Domain = 域名

设置Web应用访问的域名。

Secure = 布尔值

指是否使用HTTPS安全协议发送Cookie,默认是false。

特点

存储大小限制,一般存储4kb。

数量限制,每个域名最多不能超过50个。

有效期限制,时效性。

域的限制,浏览器机制同源策略。

存储类型是字符串,不支持特殊字符,需要转义。

cookie会随请求头协议数据传输。

cookie明文存储容易伪造及篡改。

cookie可以被浏览器禁用。

操作

一、获取cookie的值

function getCookie(key){

    key = `${key}=`;

let cookieStr = decodeURIComponent(document.cookie.replace(/;s*/ig, ';'));

if(!cookieStr){

return '';

    }

let arr = cookieStr.split(';');

let curItem = arr.find(item=>item.indexOf(key) == 0);

if(!curItem){

return '';

    }

return curItem.replace(key, '');

}

二、设置cookie的值及相关属性

function setCookie(key, value, options){

let def = { path: '/', expires: 0 };

let params = Object.assign({}, def, options);

let d = new Date();

if(!!params.expires){

        d.setTime(d.getTime() + params.expires*1000);

        params.expires = d.toUTCString();

    }

let result = Object.keys(params).reduce((acc, akey)=>{

let curVal = params[akey];

return curVal?acc+=`${akey}=${curVal};`:acc;

    },`${key}=${encodeURIComponent(value)};`);

document.cookie = result;

}

三、删除cookie

function delCookie(key){

document.cookie = `${key}=;expires=-1`;

}

————————————————

版权声明:本文为CSDN博主「weixin_39863918」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_39863918/article/details/111374174

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容