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中暂停功能的实现代码
Mar 04 Javascript
jquery UI 1.72 之datepicker
Dec 29 Javascript
JavaScript中关于indexOf的使用方法与问题小结
Aug 05 Javascript
jquery的Theme和Theme Switcher使用小结
Sep 08 Javascript
js替代copy(示例代码)
Nov 27 Javascript
用javascript实现自动输出网页文本
Jul 30 Javascript
JS简单模拟触发按钮点击功能的方法
Nov 30 Javascript
javascript实现获取图片大小及图片等比缩放的方法
Nov 24 Javascript
vue中appear的用法
Aug 17 Javascript
详解React native fetch遇到的坑
Aug 30 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 Javascript
Vue vee-validate插件的简单使用
Jun 22 Vue.js
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初学者的8点有效建议
2010/11/20 PHP
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
js创建数组的简单方法
2016/07/27 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
python中的列表与元组的使用
2019/08/08 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
如何定义一个可复用的服务
2014/09/30 面试题
办公室文书岗位职责
2013/12/16 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
网络信息安全承诺书
2014/03/26 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
小学二年级语文教学反思
2016/03/03 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
Redis可视化客户端小结
2021/06/10 Redis
docker-compose部署Yapi的方法
2022/04/08 Servers