作者:暗蓝语依_431 | 来源:互联网 | 2018-06-16 20:33
用法:
一、设置COOKIE
代码如下:
var COOKIE = new JSCOOKIE();
// 普通设置
COOKIE .SetCOOKIE("key1","val1");
// 过期时间为一年
var expire_time = new Date();
expire_time.setFullYear(expire_time.getFullYear() + 1);
COOKIE .SetCOOKIE("key2","val2",expire_time);
// 设置域及路径,带过期时间
COOKIE .SetCOOKIE("key3","val3",expire_time,".cnblogs.com","/");
// 设置带子键的COOKIE,子键分别是k1,k2,k3
COOKIE .SetCOOKIE("key4","k1=1&k2=2&k3=3");
二、读取COOKIE
代码如下:
// 简单获取
COOKIE .GetCOOKIE("key1");
COOKIE .GetCOOKIE("key2");
COOKIE .GetCOOKIE("key3");
COOKIE .GetCOOKIE("key4");
// 获取key4的子键k1值
COOKIE .GetChild("key4","k1");
三、删除 代码如下:
COOKIE .Expire("key1");
COOKIE .Expire("key2");
COOKIE .Expire("key3");
COOKIE .Expire("key4");
示例:
代码如下:
用正则的方法读取COOKIE值
由于asp的COOKIE是经过url编码的,所以读之前要unescape一下。
下面是我用正则的方法取COOKIE,包括单值和多值:
代码如下:
/**************************************************
参数说明:
sMainName COOKIE名
sSubName COOKIE子键名,留空表示单值COOKIE
**************************************************/
function GetCOOKIE(sMainName, sSubName)
{
var re = new RegExp((sSubName ? sMainName + "=(?:.*?&)*?" + sSubName + "=([^&;$]*)" : sMainName + "=([^;$]*)"),"i");
return re.test(unescape(document.COOKIE)) ? RegExp["$1"] : "";
}