JavaScript中的cookie

cookie是一个字符串属性,可以用它对当前网页的cookie进行读操作,创建操作,修改操作和删操作。

除了名字和值外,每个cookie都有四个可选的属性,分别控制它的生存期,可见性和安全性。

cookie的存储

要把一个暂时的cookie的值与当前文档关联起来,只需要将cookie属性以下面的形式设置成一个字符串既可:

name = value

例如:

document.cookie = "version="+encodeURIComponent(document.lastModified);

cookie的值不能有分号,逗号或空白符。因此,需要使用核心JavaScript的全局函数encodeURIComponent()在把值存入cookie之前对它进行编码。如果这么做了,那么在读cookie值时,就必须用相应的decodeURIComponent()函数。

cookie的读取
split():
split() 方法用于把一个字符串分割成字符串数组。
语法:

stringObject.split(separator,howmany)

返回值
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

var array = ["2:3:4:5"];
var newObject = array.split(":");
alert(newObject);   //["2", "3", "4", "5"] 
alert(newObject instanceof Array)  //true

index():
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

语法:

stringObject.indexOf(searchvalue,fromindex)

该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

提示
注释:indexOf() 方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。

对cookie进行读操作:

//读取document中的cookie属性 返回document中所有的cookies
var allcookies = document.cookie;
var pos = allcookies.indexOf("version=");

if(pos != -1){
    var start = pos + 8;
    var end = allcookies.indexOf(";",start); 
    if(end == -1) end = allcookies.length;
    var value = allcookies.substring(start,end);
    value = decodeURIComponent(value);
}

当对cookie属性进行读操作时,得到的字符串不包含任何有关各种cookie属性的信息。虽然cookie属性允许设置这些属性,但是不允许读取它们的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值