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 相关文章推荐
js类型检查实现代码
Oct 29 Javascript
jQuery1.6 使用方法二
Nov 23 Javascript
js点击页面其它地方将某个显示的DIV隐藏
Jul 12 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
Sep 22 Javascript
分享9点个人认为比较重要的javascript 编程技巧
Apr 27 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
JavaScript编程中实现对象封装特性的实例讲解
Jun 24 Javascript
Angular2 父子组件数据通信实例
Jun 22 Javascript
详解基于vue的移动web app页面缓存解决方案
Aug 03 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
JS中间件设计模式的深入探讨与实例分析
Apr 11 Javascript
TS 类型兼容教程示例详解
Sep 23 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中几个常用的魔术常量
2012/02/23 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
ECMAScript 基础知识
2007/06/29 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
vue数字类型过滤器的示例代码
2017/09/07 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
Python中使用item()方法遍历字典的例子
2014/08/26 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
护士辞职信怎么写
2015/02/27 职场文书
经营场所使用证明
2015/06/19 职场文书
结婚主持人致辞
2015/07/28 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python