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 相关文章推荐
键盘 keycode的值 javascript时触发事件时很有用的要素
Nov 02 Javascript
jQuery温习篇 强大的JQuery选择器
Apr 24 Javascript
对象题目的一个坑 理解Javascript对象
Dec 22 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
May 24 Javascript
JS代码实现百度地图 画圆 删除标注
Oct 12 Javascript
详解AngularJs ui-router 路由的简单介绍
Apr 26 Javascript
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
vue2.0 中使用transition实现动画效果使用心得
Aug 13 Javascript
Vue.js中 v-model 指令的修饰符详解
Dec 03 Javascript
点击按钮弹出模态框的一系列操作代码实例
Mar 29 Javascript
微信小程序利用button控制条件标签的变量问题
Mar 15 Javascript
JavaScript实现鼠标移入随机变换颜色
Nov 24 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执行速度全攻略
2006/10/09 PHP
php中$this-&amp;gt;含义分析
2009/11/29 PHP
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
PHP中大括号'{}'用法实例总结
2017/02/08 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
JavaScript 事件对象的实现
2009/07/13 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
javascript实现拖放效果
2015/12/16 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
python pickle 和 shelve模块的用法
2013/09/16 Python
python实现随机密码字典生成器示例
2014/04/09 Python
简单的编程0基础下Python入门指引
2015/04/01 Python
Python的UTC时间转换讲解
2019/02/26 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
python实现126邮箱发送邮件
2020/05/20 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
Java语言程序设计测试题选择题部分
2014/04/03 面试题
顶岗实习接收函
2014/01/09 职场文书
婚礼司仪主持词
2014/03/14 职场文书
植树节标语
2014/06/27 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
心灵捕手观后感
2015/06/02 职场文书
爱国主义影片观后感
2015/06/18 职场文书
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技