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 相关文章推荐
accesskey 提交
Jun 26 Javascript
帮助避免错误的Javascript陷阱清单
May 31 Javascript
JQuery 学习笔记01 JQuery初接触
May 06 Javascript
JS清除IE浏览器缓存的方法
Jul 26 Javascript
jquery自定义右键菜单、全选、不连续选择
Mar 01 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
Jun 07 Javascript
Angularjs 创建可复用组件实例代码
Oct 09 Javascript
javascript history对象详解
Feb 09 Javascript
Angularjs的$http异步删除数据详解及实例
Jul 27 Javascript
Angular2实现组件交互的方法分析
Dec 19 Javascript
Async/Await替代Promise的6个理由
Jun 15 Javascript
对layui数据表格动态cols(字段)动态变化详解
Oct 25 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/12/06 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
一个js实现的所谓的滑动门
2007/05/23 Javascript
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
跟老齐学Python之list和str比较
2014/09/20 Python
Python模拟登录12306的方法
2014/12/30 Python
详解Django中的form库的使用
2015/07/18 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
python实现最大优先队列
2019/08/29 Python
torch 中各种图像格式转换的实现方法
2019/12/26 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
制冷与电控专业应届生求职信
2013/11/11 职场文书
新闻学毕业生自荐信
2013/11/15 职场文书
技校生自我鉴定
2013/12/08 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
端午节活动总结报告
2015/02/11 职场文书
酒店宣传语大全
2015/07/13 职场文书
人力资源部工作计划
2019/05/14 职场文书