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 BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Jul 21 Javascript
javascript实现tab切换特效
Nov 12 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
Sep 01 Javascript
JavaScript中boolean类型之三种情景实例代码
Nov 21 Javascript
AngularJS实现单一页面内设置跳转路由的方法
Jun 28 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
Dec 12 Javascript
Vue-cli项目获取本地json文件数据的实例
Mar 07 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
Mar 08 Javascript
微信小程序制作表格的方法
Feb 14 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
Sep 09 Javascript
vue项目中js-cookie的使用存储token操作
Nov 13 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
PHP入门速成(2)
2006/10/09 PHP
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
JavaScript常用函数工具集:lao-utils
2016/03/01 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
Python NumPy库安装使用笔记
2015/05/18 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
妇产科护士自我鉴定
2013/10/15 职场文书
社会实践心得体会
2014/01/03 职场文书
文秘求职信范文
2014/04/10 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
旗帜观后感
2015/06/08 职场文书