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 相关文章推荐
js apply/call/caller/callee/bind使用方法与区别分析
Oct 28 Javascript
js的一些常用方法小结
Jun 29 Javascript
JavaScript中读取和保存文件实例
May 08 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
Aug 31 Javascript
浅谈javascript函数式编程
Sep 06 Javascript
详解JavaScript编程中正则表达式的使用
Oct 25 Javascript
深入浅出ES6之let和const命令
Aug 25 Javascript
微信小程序多列选择器range-key使用详解
Mar 30 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
May 30 Javascript
详解vue-video-player使用心得(兼容m3u8)
Aug 23 Javascript
如何HttpServletRequest文件对象并储存
Aug 14 Javascript
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 Vue.js
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调用三种数据库的方法(3)
2006/10/09 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
JavaScript 学习点滴记录
2009/04/24 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
使用Python函数进行模块化的实现
2019/11/15 Python
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
纽约和芝加哥当天送花:Ode à la Rose
2019/07/05 全球购物
教师学习培训邀请函
2014/02/04 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
2014年度培训工作总结
2014/11/27 职场文书
大学生个人学年总结
2015/02/15 职场文书
七一表彰大会简报
2015/07/20 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript