Javascript读取cookie函数代码


Posted in Javascript onOctober 16, 2010

用法:
一、设置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");

示例:

<script type="text/javascript"> 
String.prototype.Trim = function() 
{ 
return this.replace(/^\s+/g,"").replace(/\s+$/g,""); 
} 
function JSCookie() 
{ 
this.GetCookie = function(key) 
{ 
var cookie = document.cookie; 
var cookieArray = cookie.split(';'); 
var getvalue = ""; 
for(var i = 0;i<cookieArray.length;i++) 
{ 
if(cookieArray[i].Trim().substr(0,key.length) == key) 
{ 
getvalue = cookieArray[i].Trim().substr(key.length + 1); 
break; 
} 
} 
return getvalue; 
}; 
this.GetChild = function(cookiekey,childkey) 
{ 
var child = this.GetCookie(cookiekey); 
var childs = child.split('&'); 
var getvalue = ""; 
for(var i = 0;i < childs.length;i++) 
{ 
if(childs[i].Trim().substr(0,childkey.length) == childkey) 
{ 
getvalue = childs[i].Trim().substr(childkey.length + 1); 
break; 
} 
} 
return getvalue; 
}; 
this.SetCookie = function(key,value,expire,domain,path) 
{ 
var cookie = ""; 
if(key != null && value != null) 
cookie += key + "=" + value + ";"; 
if(expire != null) 
cookie += "expires=" + expire.toGMTString() + ";"; 
if(domain != null) 
cookie += "domain=" + domain + ";"; 
if(path != null) 
cookie += "path=" + path + ";"; 
document.cookie = cookie; 
}; 
this.Expire = function(key) 
{ 
expire_time = new Date(); 
expire_time.setFullYear(expire_time.getFullYear() - 1); 
var cookie = " " + key + "=e;expires=" + expire_time + ";" 
document.cookie = cookie; 
} 
} 
</script>

用正则的方法读取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"] : ""; 
}
Javascript 相关文章推荐
Mootools 1.2教程(2) DOM选择器
Sep 14 Javascript
jQuery 页面 Mask实现代码
Jan 09 Javascript
关于JavaScript定义类和对象的几种方式
Nov 09 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
Feb 18 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
Jun 13 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
Nov 28 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
Feb 17 Javascript
checkbox:click事件触发span元素内容改变的方法
Sep 11 Javascript
JS手机端touch事件计算滑动距离的方法示例
Oct 26 Javascript
微信jssdk逻辑在vue中的运用详解
Nov 14 Javascript
Vue2.0实现简单分页及跳转效果
Jul 29 Javascript
vue学习笔记之给组件绑定原生事件操作示例
Feb 27 Javascript
JavaScript 拾碎[三] 使用className属性
Oct 16 #Javascript
javascript使用eval或者new Function进行语法检查
Oct 16 #Javascript
自己整理的一个javascript日期处理函数
Oct 16 #Javascript
理解Javascript_10_对象模型
Oct 16 #Javascript
理解Javascript_09_Function与Object
Oct 16 #Javascript
理解Javascript_08_函数对象
Oct 15 #Javascript
javascript instanceof 内部机制探析
Oct 15 #Javascript
You might like
一个简单的PHP验证码实现代码
2014/05/10 PHP
php实现通过cookie换肤的方法
2015/07/13 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
JS 在指定数组中随机取出N个不重复的数据
2014/06/10 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
详解Node.js如何开发命令行工具
2016/08/14 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
2017/09/21 jQuery
JavaScript中Object基础内部方法图
2018/02/05 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
django静态文件加载的方法
2018/05/20 Python
Python应用库大全总结
2018/05/30 Python
Python异常处理知识点总结
2019/02/18 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
python scipy卷积运算的实现方法
2019/09/16 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
借款民事起诉状范文
2015/05/19 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
教育读书笔记
2015/07/02 职场文书
安全温馨提示语大全
2015/07/14 职场文书
总经理年会致辞
2015/07/29 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js