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;

}

相关推荐
骇客野人2 分钟前
Java SSO 统一认证方案
java·开发语言
进击的明明37 分钟前
闭包:JavaScript里的“随身背包” 🎒
前端·javascript·面试
Code额1 小时前
Python 连接 DeepSeek API,OpenAI
开发语言·python·ai·ai编程
-凌凌漆-1 小时前
【freertos】Task创建(v2)
java·开发语言·算法
牛油果子哥q1 小时前
C++内存模型与深浅拷贝万字详解:栈堆静态内存布局、深浅拷贝底层差异、内存泄漏根治、拷贝崩溃踩坑、手写深拷贝实战
java·开发语言·c++
曹牧2 小时前
C#:函数参数指定默认值
开发语言·c#
AAA@峥2 小时前
Python 基础开篇:认识 Python、版本选择、环境部署与首个 HelloWorld
开发语言·python
caimouse3 小时前
ReactOS 图形系统分析(47):GDI 批处理 — gdibatch.c
c语言·开发语言
qq21084629533 小时前
在python中什么是 self 和 cls?
开发语言·前端·python
我会冲击波3 小时前
vibe coding 一个多月,我把 Claude Code + Pi 做成了桌面 IDE,还给它移植了 VS Code 的编辑体验
前端·javascript·后端