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 学习笔记 element属性控制
Jul 23 Javascript
utf-8编码引起js输出中文乱码的解决办法
Jun 23 Javascript
Prototype源码浅析 Enumerable部分(二)
Jan 18 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
Jun 20 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
Feb 17 Javascript
JS实现表格数据各种搜索功能的方法
Mar 03 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
Apr 01 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
Aug 09 Javascript
Bootstrap table表格初始化表格数据的方法
Jul 25 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
Jul 25 Javascript
vue实现pdf文档在线预览功能
Nov 26 Javascript
JavaScript代码实现简单计算器
Dec 27 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操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
js 表单验证方法(实用)
2009/04/28 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
Vue v-for循环之@click点击事件获取元素示例
2019/11/09 Javascript
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
利用Python实现图书超期提醒
2016/08/02 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
python 字符串追加实例
2019/07/20 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
python基于opencv检测程序运行效率
2019/12/28 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
优秀学生事迹材料
2014/02/08 职场文书
综合实践活动总结
2014/05/05 职场文书
企业消防安全责任书
2014/07/23 职场文书
匿名信格式范文
2015/05/27 职场文书
CAD实训总结范文
2015/08/03 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
python opencv旋转图片的使用方法
2021/06/04 Python
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python
Feign调用全局异常处理解决方案
2021/06/24 Java/Android
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android