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 相关文章推荐
jquery last-child 列表最后一项的样式
Jan 22 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
Jun 02 Javascript
使用requestAnimationFrame实现js动画性能好
Aug 06 Javascript
JavaScript实现图片轮播组件代码示例
Nov 22 Javascript
Bootstrap模态框使用详解
Feb 15 Javascript
jquery动态赋值id与动态取id方法示例
Aug 21 jQuery
BootStrap模态框和select2合用时input无法获取焦点的解决方法
Sep 01 Javascript
node 利用进程通信实现Cluster共享内存
Oct 27 Javascript
js中DOM事件绑定分析
Mar 18 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
Apr 22 Javascript
使用vue重构资讯页面的实例代码解析
Nov 26 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
Jul 17 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网上调查系统
2006/10/09 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
javascript multibox 全选
2009/03/22 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
学习jQuey中的return false
2015/12/18 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
浅谈Postman解决token传参的问题
2018/03/31 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
Python实现的最近最少使用算法
2015/07/10 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
python爬取哈尔滨天气信息
2018/07/14 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
Python super()函数使用及多重继承
2020/05/06 Python
美国创意礼品网站:UncommonGoods
2017/02/03 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
小学数学教学反思
2014/02/02 职场文书
2014年会策划方案
2014/05/11 职场文书
股份转让协议书范本
2015/01/27 职场文书
MySQL数据管理操作示例讲解
2022/12/24 MySQL