JS获取cookie方法汇总

JS提供了方便的设置cookie的办法,但是不像PHP那般用一个$_COOKIE函数就可以直接获取,JS需要对cookie的键值对进行操作,以下是汇总的四中读取cookie的方法

//方法一

var acookie = document.cookie.split(``"; "``);

function getcookie(sname){

``for (``var i = 0; i < acookie.length; i++) {

``var arr = acookie[i].split(``"="``);

``if (sname == arr[0]) {

``if (arr.length > 1)

``return unescape(arr[1]);

``else

``return ""``;

``}

``}

``return ""``;

}

//方法二

function getcookie(objname){

``var arrstr = document.cookie.split(``"; "``);

``for (``var i = 0; i < arrstr.length; i++){

``var temp = arrstr[i].split(``"="``);

``if (temp[0] == objname) ``return unescape(temp[1]);

``}

}

//方法三

有坑:WMSEMPID=01011540; EMPID=00012152;

cookiename是EMPID取的是第一个cookie。

function getcookie(cookiename){

``var cookiestring = document.cookie;

``var start = cookiestring.indexof(cookiename + ``'= '``);

``if (start == -1)

``return null``;

``start += cookiename.length + 1;

``var end = cookiestring.indexof(``"; "``, start);

``if (end == -1) ``return unescape(cookiestring.substring(start));

``return unescape(cookiestring.substring(start, end));

}

//方法四

function readcookie(name){

``var cookievalue = ``""``;

``var search = name + ``"="``;

``if (document.cookie.length > 0){

``offset = document.cookie.indexof(search);

``if (offset != -1){

``offset += search.length;

``end = document.cookie.indexof(``";"``, offset);

``if (end == -1) end = document.cookie.length;

``cookievalue = unescape(document.cookie.substring(offset, end))

``}

``}

``return cookievalue;

}

相关推荐
应用市场1 小时前
构建自定义命令行工具 - 打造专属指令体
开发语言·windows·python
Dfreedom.2 小时前
一文掌握Python四大核心数据结构:变量、结构体、类与枚举
开发语言·数据结构·python·变量·数据类型
一半烟火以谋生2 小时前
Python + Pytest + Allure 自动化测试报告教程
开发语言·python·pytest
虚行2 小时前
C#上位机工程师技能清单文档
开发语言·c#
小羊在睡觉3 小时前
golang定时器
开发语言·后端·golang
CoderCodingNo3 小时前
【GESP】C++四级真题 luogu-B4068 [GESP202412 四级] Recamán
开发语言·c++·算法
saadiya~3 小时前
ECharts 实时数据平滑更新实践(含 WebSocket 模拟)
前端·javascript·echarts
百锦再3 小时前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
Larry_Yanan3 小时前
QML学习笔记(四十四)QML与C++交互:对QML对象设置objectName
开发语言·c++·笔记·qt·学习·ui·交互
百锦再4 小时前
对前后端分离与前后端不分离(通常指服务端渲染)的架构进行全方位的对比分析
java·开发语言·python·架构·eclipse·php·maven