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 Math对象
Aug 13 Javascript
网络图片延迟加载实现代码 超越jquery控件
Mar 27 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
Nov 19 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
Jan 09 Javascript
引用其它js时如何同时处理多个window.onload事件
Sep 02 Javascript
Bootstrap3.0学习教程之JS折叠插件
May 27 Javascript
详细分析Javascript中创建对象的四种方式
Aug 17 Javascript
js插件Jcrop自定义截取图片功能
Oct 14 Javascript
基于Vue2.0的分页组件
Mar 16 Javascript
Vue表单之v-model绑定下拉列表功能
May 14 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
Dec 03 Javascript
Vue OpenLayer测距功能的实现
Apr 20 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 验证图片生成函数
2009/05/21 PHP
PHP安全配置详细说明
2011/09/26 PHP
PHP排序算法的复习和总结
2012/02/15 PHP
php分页思路以及在ZF中的使用
2012/05/30 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
nodejs实用示例 缩址还原
2010/12/28 NodeJs
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
枚举和一组预处理的#define有什么不同
2016/09/21 面试题
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
新闻记者实习自我鉴定
2013/09/19 职场文书
四年级下册教学反思
2014/02/01 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
解放思想演讲稿
2014/09/11 职场文书
大学生党课心得体会
2016/01/07 职场文书
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers