您的位置:首页 > Web前端 > JavaScript

js中cookie的使用

2014-08-21 19:38 141 查看
cookie用来保存页面信息,比如自动登录,记住用户名等。

cookie特性:

同一个网站所有页面共享一套cookie。

cookie的数量大小有限。

有过期时间。不安全。

1、设置cookie。

cookie的格式:

名字=值

document.cookie="name=admin";

特点:不会覆盖

如果再写一条语句,document.cookie="password=12344";

弹出document.cookie,会发现弹出的是"name=admin; password=12344",有别于其他等号赋值。

设置过期时间

expires=时间

需要清楚日期对象的使用,new Date()对象,得到现在时间,再加上cookie保存时间,计算出保存截止日期。

function setCookie(name,value,iDay){
var oDate=new Date();
oDate.setDate(oDate.getDate()+iDay);
document.cookie=name+'='+value+';expires='+oDate;
}
测试,通过看页面详细信息的cookie可以看到保存的信息。

2、读取cookie。

读取的cookie是一串字符串,大概是"name=admin; password=12344;..."的格式

所以需要将字符串以'; '为分隔符分割成数组。

字符串分割

cookie.split('; ')函数分割成数组,保存在arr中,

则arr1[0]->"name=admin"

我们希望通过名称找到对应的值,所以需要继续拆分,以‘=’为分隔符,则每个arr1[i]都可以分割成长度为2的数组arr2,

arr[0]为名称,arr[1]为值,循环比较查找出对应的value。

function getCookie(name){
var cookie=document.cookie.split('; ');
for(var i=0;i<cookie.length;i++){
var a=cookie[i].split('=');
if(a[0]==name){
return a[1];
}
}
return '';
}
3、清除cookie

将cookie的时间设成过期即可。管用的小办法~

function remove(name){
setCookie(name,'1','-1');
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: