JS实现Cookie读、写、删除操作工具类示例


Posted in Javascript onAugust 28, 2018

本文实例讲述了JS实现Cookie读、写、删除操作工具类。分享给大家供大家参考,具体如下:

/***
*读取指定的Cookie值 readCookie("id");
*@param {string} cookieName Cookie名称
*/
function readCookie(cookieName) {
  var theCookie = "" + document.cookie;
  var ind = theCookie.indexOf(cookieName);
  if(ind==-1 || cookieName=="") return "";
  var ind1 = theCookie.indexOf(';',ind);
  if(ind1==-1) ind1 = theCookie.length;
  /*读取Cookie值*/
  return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}
/***
* 设置Cookie值 setCookie("id",1);
* @param {string} cookieName Cookie名称
* @param {string} cookieValue Cookie值
* @param {number} nDays Cookie过期天数
*/
function setCookie(cookieName, cookieValue) {
  /*当前日期*/
  var today = new Date();
  /*Cookie过期时间*/
  var expire = new Date();
  /*如果未设置nDays参数或者nDays为0,取默认值1*/
  //if(nDays == null || nDays == 0) nDays = 1;
  /*计算Cookie过期时间【 3600000 * 24 为一天】*/
  expire.setTime(today.getTime() + 400000); //5分钟
  document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" +   expire.toGMTString();
}
/***
* 删除cookie中指定变量函数
* @param {string} $name Cookie名称
*/
function deleteCookie($name){
  var myDate=new Date();
  myDate.setTime(-1000);//设置时间
  document.cookie=$name+"=''; expires="+myDate.toGMTString();
}
/***
* 删除cookie中所有定变量函数
* @param {string} cookieName Cookie名称
* @param {string} cookieValue Cookie值
* @param {number} nDays Cookie过期天数
*/
function clearCookie(){
  var myDate=new Date();
  myDate.setTime(-1000);//设置时间
  var data=document.cookie;
  var dataArray=data.split("; ");
  for(var i=0;i<dataArray.length;i++){
    var varName=dataArray[i].split("=");
    document.cookie=varName[0]+"=''; expires="+myDate.toGMTString();
  }
}

附:JS操作cookie的小插件

var CookieUtil = {
 // 设置cookie
 set : function (name, value, expires, domain, path, secure) {
  var cookieText = "";
  cookieText += encodeURIComponent(name) + "=" + encodeURIComponent(value);
  if (expires instanceof Date) {
   cookieText += "; expires=" + expires.toGMTString();
  }
  if (path) {
   cookieText += "; path=" + path;
  }
  if (domain) {
   cookieText += "; domain=" + domain;
  }
  if (secure) {
   cookieText += "; secure";
  }
  document.cookie = cookieText;
 },
 // name=value; expires=expiration_time; path=domain_path; domain=domain_name; secure
 // 获取cookie
 get : function (name) {
  var cookieName = encodeURIComponent(name) + "=",
   cookieStart = document.cookie.indexOf(cookieName),
   cookieValue = "";
  if (cookieStart > -1) {
   var cookieEnd = document.cookie.indexOf (";", cookieStart);
   if (cookieEnd == -1) {
    cookieEnd = document.cookie.length;
   }
   cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
  }
  return cookieValue;
 },
 // 删除cookie
 unset : function (name, domain, path, secure) {
  this.set(name, "", Date(0), domain, path, secure);
 }
};

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript Event学习第三章 早期的事件处理程序
Feb 07 Javascript
firebug的一个有趣现象介绍
Nov 30 Javascript
使用jQuery实现的掷色子游戏动画效果
Mar 14 Javascript
jQuery选择器源码解读(八):addCombinator函数
Mar 31 Javascript
JavaScript实现图片轮播的方法
Jul 31 Javascript
谈一谈javascript闭包
Jan 28 Javascript
jQuery常见的选择器及用法介绍
Dec 20 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
Apr 28 Javascript
React Native实现进度条弹框的示例代码
Jul 17 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
Sep 15 Javascript
深入Node TCP模块的理解
Mar 13 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
Oct 14 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
Aug 28 #Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
Aug 28 #Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
Aug 28 #Javascript
vue移动端微信授权登录插件封装的实例
Aug 28 #Javascript
Vue 应用中结合vux使用微信 jssdk的方法
Aug 28 #Javascript
对vux点击事件的优化详解
Aug 28 #Javascript
使用D3.js构建实时图形的示例代码
Aug 28 #Javascript
You might like
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
python基于递归解决背包问题详解
2019/07/03 Python
Python函数中的可变长参数详解
2019/09/12 Python
Python如何在DataFrame增加数值
2020/02/14 Python
python实现图像全景拼接
2020/03/27 Python
Python如何定义有可选参数的元类
2020/07/31 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
民生工作实施方案
2014/05/31 职场文书
检察院起诉意见书
2015/05/20 职场文书
2015年成本会计工作总结
2015/10/14 职场文书