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 相关文章推荐
Prototype 工具函数 学习
Jul 23 Javascript
实现连缀调用的map方法(prototype)
Aug 05 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
May 27 Javascript
防止jQuery ajax Load使用缓存的方法小结
Feb 22 Javascript
JavaScript学习笔记之定时器
Jan 22 Javascript
jQuery结合HTML5制作的爱心树表白动画
Feb 01 Javascript
原生JavaScript实现瀑布流布局
Jun 28 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 Javascript
Vue实现页面添加水印功能
Nov 09 Javascript
微信小程序学习总结(五)常见问题实例小结
Jun 04 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
介绍一些PHP判断变量的函数
2012/04/24 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
javascript实用方法总结
2015/02/06 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
AngularJS通过ng-route实现基本的路由功能实例详解
2016/12/13 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
浅谈js闭包理解
2019/04/01 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
react基本安装与测试示例
2020/04/27 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
Python递归遍历列表及输出的实现方法
2015/05/19 Python
简单介绍django提供的加密算法
2019/12/18 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
墨尔本照明批发商店:Mica Lighting
2017/12/28 全球购物
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
《植物妈妈有办法》教学反思
2014/02/25 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
导游词之潮音寺
2019/09/26 职场文书