JavaScript中的cookie

来源:互联网 发布:淘宝泄露客户信息处罚 编辑:程序博客网 时间:2024/06/05 11:47

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中所有的cookiesvar 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