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实现form表单reset按钮重置清空表单功能
Dec 18 Javascript
给文字加上着重号的JS代码
Nov 12 Javascript
jQuery读取和设定KindEditor值的方法
Nov 22 Javascript
JavaScript对HTML DOM使用EventListener进行操作
Oct 21 Javascript
js编写贪吃蛇的小游戏
Aug 24 Javascript
jquery简单倒计时实现方法
Dec 18 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
Jul 22 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
Dec 18 Javascript
Layui 动态禁止select下拉的例子
Sep 03 Javascript
一篇文章带你从零快速上手Rollup
Sep 07 Javascript
vue实现移动端返回顶部
Oct 12 Javascript
json.stringify()与json.parse()的区别以及用处
Jan 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
国内咖啡文化
2021/03/03 咖啡文化
PHP入门速成(2)
2006/10/09 PHP
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
php中session使用示例
2014/03/29 PHP
php生成zip文件类实例
2015/04/07 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
javascript 获取图片颜色
2009/04/05 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
Python简明入门教程
2015/08/04 Python
Python用模块pytz来转换时区
2016/08/19 Python
python机器学习实战之K均值聚类
2017/12/20 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
深入分析python 排序
2020/08/24 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
2015年学校政教处工作总结
2015/05/26 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书