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 相关文章推荐
jquery1.5.1中根据元素ID获取元素对象的代码
Apr 02 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
Nov 05 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
Jun 05 Javascript
Node.js中使用计时器定时执行函数详解
Aug 15 Javascript
jQuery中removeData()方法用法实例
Dec 27 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
Apr 29 Javascript
Javascript 闭包详解及实例代码
Nov 30 Javascript
jQuery EasyUI 页面加载等待及页面等待层
Feb 06 Javascript
jQuery中.attr()和.data()的区别分析
Sep 03 jQuery
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 Javascript
d3.js实现图形拖拽
Dec 19 Javascript
详解Nuxt内导航栏的两种实现方式
Apr 16 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+MySQL5.0中文乱码解决方法
2006/11/20 PHP
php文档更新介绍
2011/07/22 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
浏览器窗口加载和大小改变事件示例
2014/02/27 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
sublime text配置node.js调试(图文教程)
2017/11/23 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
Python去除列表中重复元素的方法
2015/03/20 Python
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
Python字节单位转换(将字节转换为K M G T)
2021/03/02 Python
大学生职业生涯规划书模版
2013/12/30 职场文书
教师评优事迹材料
2014/01/10 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
行政监察建议书
2014/05/19 职场文书
会计师事务所实习证明
2014/11/16 职场文书
团代会闭幕词
2015/01/28 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书