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 相关文章推荐
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
jQuery实现的一个自定义Placeholder属性插件
Aug 11 Javascript
再JavaScript的jQuery库中编写动画效果的指南
Aug 13 Javascript
通过设置CSS中的position属性来固定层的位置
Dec 14 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 Javascript
canvas实现爱心和彩虹雨效果
Mar 09 Javascript
jquery Form轻松实现文件上传
May 24 jQuery
浅谈react受控组件与非受控组件(小结)
Feb 09 Javascript
浅谈vue 锚点指令v-anchor的使用
Nov 13 Javascript
vue中keep-alive,include的缓存问题
Nov 26 Javascript
JavaScript canvas绘制圆弧与圆形
Feb 18 Javascript
Vue.js使用axios动态获取response里的data数据操作
Sep 08 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
如何开始收听短波广播
2021/03/01 无线电
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
PHP 调试工具Debug Tools
2011/04/30 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
javascript 动态添加表格行
2006/06/22 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
2015/11/07 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
axios拦截设置和错误处理方法
2018/03/05 Javascript
一秒学会微信小程序制作table表格
2019/02/14 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
详解Python pygame安装过程笔记
2017/06/05 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
Python根据成绩分析系统浅析
2019/02/11 Python
python占位符输入方式实例
2019/05/27 Python
python实现简单坦克大战
2020/03/27 Python
详解python datetime模块
2020/08/17 Python
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
皮肤科医师岗位职责
2013/12/04 职场文书
班级文化建设标语
2014/06/23 职场文书
环境保护建议书
2014/08/26 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
校长师德表现自我评价
2015/03/05 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
社团招新宣传语
2015/07/13 职场文书
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server