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 相关文章推荐
二行代码解决全部网页木马
Mar 28 Javascript
js 如何实现对数据库的增删改查
Nov 23 Javascript
当jQuery1.7遇上focus方法的问题
Jan 26 Javascript
用js判断输入是否为中文的函数
Mar 10 Javascript
Node.js操作mysql数据库增删改查
Mar 30 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
Aug 31 Javascript
微信小程序报错:this.setData is not a function的解决办法
Sep 27 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
Sep 30 Javascript
vue 进阶之实现父子组件间的传值
Apr 26 Javascript
JS实现普通轮播图特效
Jan 01 Javascript
vue 封装 Adminlte3组件的实现
Mar 18 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
smtp邮件发送一例
2006/10/09 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
PHP的几个常用加密函数
2016/02/03 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
javascript ajax 仿百度分页函数
2013/10/29 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
js实现聊天对话框
2020/02/08 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
[03:53]2016国际邀请赛中国区预选赛第三日TOP10精彩集锦
2016/06/29 DOTA
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
python实现数组插入新元素的方法
2015/05/22 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
房产销售经理职责
2013/12/20 职场文书
上班迟到检讨书
2014/01/10 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
小学生春游活动方案
2014/08/20 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书