如何设置 获取删除cookie

发布网友 发布时间:2022-04-22 03:36

我来回答

2个回答

懂视网 时间:2022-04-07 11:31

cookie是运行在客户端的,可以用JS来设置cookie.

首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。

JS设置cookie:

假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为:

document.cookie="name="+username;

读取cookie

 function getCookie(name){
 var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
 if(arr=document.cookie.match(reg))
 return unescape(arr[2]);
 else
 return null;
 }

热心网友 时间:2022-04-07 08:39

浏览器cookie分析


单点说就是数据存储,通过JavaScript将要保存的数据保存在客户端浏览器,下次打开网页时调用保存的cookie。浏览器中cookie保存的形
式:user=aa; pwd=123; sex=man; 还要注意的是cookie的过期时间expires。好了!简单分析到此结束,开始代码吧!
END
设置cookie

最简单的就是:document.cookie="user=aa"。
但是这样就没有过期时间了,只是暂存于电脑内存里没有保存下来,几天后无法显示cookie内容。下面开始正式写规范完整的函数。
代码如下:
function setCookie(name, value, iDay){
/* iDay 表示过期时间
cookie中 = 号表示添加,不是赋值 */
var oDate=new Date();
oDate.setDate(oDate.getDate()+iDay);
document.cookie=name+'='+value+';expires='+oDate;
}
JavaScript中Date对象的setDate方法用于设置一个月的某一天,而getDate获得当前的日期,由此可以按照保存为多少天就在当前(getDate)日期加多少天。
END
获取cookie

前面分析的时候我们讲过浏览器cookie是由像:user=aa; pwd=123;等等组成的,所有要想获取cookie关键还是字符串和数组的操作。
代码如下:
function getCookie(name){
/* 获取浏览器所有cookie将其拆分成数组 */
var arr=document.cookie.split('; ');

for(var i=0;i<arr.length;i++) {
/* 将cookie名称和值拆分进行判断 */
var arr2=arr[i].split('=');
if(arr2[0]==name){
return arr2[1];
}
}
return '';
}
END
删除cookie

删除cookie的思想很简单,就是将cookie的过期时间设置为过期(-1),已经过了一天。那么就能实现了,当然了需要调用设置cookie的函数setCookie。
代码如下:
function removeCookie(name){
/* -1 天后过期即删除 */
setCookie(name, 1, -1);
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com