博客搬家了,欢迎大家关注,https://bobjin.com

js设置、获取单值cookie和多值cookie,代码如下:

 var CookieUtil = (function () {
var Cookie = function () {
// 获取单值cookie
this.get = function(name) {
var start = document.cookie.indexOf(encodeURIComponent(name)) ;
var end = document.cookie.indexOf(';', start) ;
if(end == -1) {
end = document.cookie.length;
}
return decodeURIComponent(document.cookie.substring(start+name.length+1,end));
}; // 设置单值cookie
this.set = function(name, value, expires, path, domain, secure) {
var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);
// 设置默认过期时间为七天
if(expires == undefined) {
var date = new Date();
date.setTime(date.getTime() + 7*24*60*60*1000);
expires = date ;
}
if(expires instanceof Date) {
cookieText += "; expires=" + expires.toGMTString();
}
if(path != undefined) {
cookieText += "; path=" + path;
}
if(domain != undefined) {
cookieText += "; domain" + domain;
}
if(secure != undefined) {
cookieText += "; secure";
}
document.cookie = cookieText;
}; // 清除单值cookie
this.unset = function(name, path, domain, secure) {
this.set(name, '', new Date(0), path, domain, secure );
}; // 设置多值cookie
this.setAll = function(name, subCookies, expires, path, domain, secure) {
var cookieText = ";" + encodeURIComponent(name) + "=",
arr = new Array();
for(var attr in subCookies) {
arr.push([encodeURIComponent(attr)] + ":" + encodeURIComponent(subCookies[attr]));
}
this.set(name, arr.join('&'), expires, path, domain, secure);
}; // 获取多值cookie
this.getAll = function(name) {
var obj = {};
var arr = this.get(name).split('&');
for(var i = 0, len = arr.length; i < len; i++) {
var tmpArr = arr[i].split(':');
obj[decodeURIComponent(tmpArr[0])] = decodeURIComponent(tmpArr[1]);
}
return obj;
}; // 获取多值cookie的子cookie
this.getSub = function(name, subname) {
var obj = this.getAll(name);
return obj[subname];
}; // 清除指定的多值cookie
this.unsetAll = function(name,path,domain,secure) {
this.unset(name, '', new Date(0), path, domain, secure);
}; // 清除指定多值cookie的子cookie
this.unsetSub = function(name, subname,path, domain, secure) {
var obj = this.getAll(name);
delete obj[subname];
this.setAll(name, obj, null, path, domain, secure);
};
};
return new Cookie();
})();
博客搬家了,欢迎大家关注,https://bobjin.com

js设置、获取单值cookie和多值cookie的更多相关文章

  1. 【转】分享前端开发中通过js设置/获取cookie的一组方法

    在前端开发中,通常都需要获取并记录用户的某些操作设置,这样可以使用户下一次访问网站时不用进行重复的调整设置同一个功能. js方法的完整代码如下: var cookie = { set:function ...

  2. js 设置下拉框的默认值

    设置下拉框的默认值,直接在option中增加selected就可以了.但是现在要使用JS来设置它的默认值,代码如下: <select name="aaa" id=" ...

  3. 从cookie中取值$.cookie()

    从cookie中取值: var userid = $.cookie("remoteuserid");例子: function delUser() {     var table = ...

  4. js 设置 获取css样式

    先看一段代码,为了体现一会下面说的js用style获取css样式的不同 一:给div设置margin-left(用style设置css样式没什么问题) box.style.marginLeft=&qu ...

  5. JS设置获取cookies

    结合JavaScript权威指南,加上项目开发时在网上搜集的资料,整理了两种设置和获取cookie的方法. <script> //设置cookie  方法一function setCook ...

  6. 关于JS中获取浏览器高度和宽度值的多种方法(多浏览器)

    三种浏览器获取值方法 IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 ...

  7. 在js中获取页面元素的属性值时,弱类型导致的诡异事件踩坑记录,

    前几天写一个js的时候遇到一个非常诡异的事情,这个问题是这样的,我要获取一个页面的DOM元素的val值,判断这个值是否比某个变量大,这个需求原先数字最大也就是10,现在要改了,可能会更多,这个时候我发 ...

  8. Js中获取对象的所有key值

    假如现在有一个对象 var obj = { A:2 ,B:"Ray" ,C:true ,D:function(){} } 如果想遍历对象obj中的所有键值,一般是用以下方式 for ...

  9. js如何获取到select的option值???

    1.获得选项option的值 var obj = document.getElementByIdx_x(”testSelect”); //定位id var index = obj.selectedIn ...

随机推荐

  1. 获取Windows操作系统的CPU使用率以及内存使用率

    此功能参考了ProcessHacker项目的代码. 声明定义 typedef struct _UINT64_DELTA { ULONG64 Value; ULONG64 Delta; } UINT64 ...

  2. SQLSERVER语句 in和exists哪个效率高本人测试证明

    SQLSERVR语句 in和exists哪个效率高本人测试证明 最近很多人讨论in和exists哪个效率高,今天就自己测试一下 我使用的是客户的数据库GPOSDB(已经有数据) 环境:SQLSERVE ...

  3. Hibernate 延迟加载原理

        如何简单的理解延迟加载?开发中常见的org.hibernate.LazyInitializationException no session错误又是怎么产生的?下面通过一个简单的例子来解析一下 ...

  4. Windows Azure Storage (6) Windows Azure Storage之Table

    <Windows Azure Platform 系列文章目录> 最近想了想,还是有必要把Windows Azure Table Storage 给说清楚. 1.概念 Windows Azu ...

  5. JS实战 · 实践积累点滴杂烩

    onmouseover : 鼠标进入 onmouseout : 鼠标离开 onfocus:得到焦点   表单提交执行JS代码,有两种常用方式. 一:在局部(比如按钮定义处)用onclick=" ...

  6. JS实战 · 表单验证

    思路:         1.定义页面             通过表格格式化表单:             表格行都有自己的背景颜色:             单元格中的数据(文本等)用div进行封装 ...

  7. HTML中em与b等的区别

    最近在学习HTML基本知识,看到b标签和strong还有em,都是表示强调目的的,那他们之间的区别是什么呢?总结如下: < b > < i > 是视觉要素(presentati ...

  8. Chrome开发者工具不完全指南:(三、性能篇)

    卤煮在前面已经向大家介绍了Chrome开发者工具的一些功能面板,其中包括Elements.Network.Resources基础功能部分和Sources进阶功能部分,对于一般的网站项目来说,其实就是需 ...

  9. angularjs 2.0 快速开始

    前言 angularjs2.0 如果发布,公司的项目会基于2.0开发,在1.0的时候就踩了好多坑,趁这2.0还没正式发布,赶紧踩下坑. 这篇文章是参考angularjs2.0 官方文档写的,开发环境需 ...

  10. Sql Server系列:Update语句

    1 UPDATE语法结构 [ WITH <common_table_expression> [...n] ] UPDATE [ TOP ( expression ) [ PERCENT ] ...