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 相关文章推荐
js算法中的排序、数组去重详细概述
Oct 14 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
Mar 24 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
May 03 Javascript
JQuery中解决重复动画的方法
Oct 17 Javascript
jQuery 控制文本框自动缩小字体填充
Jun 16 jQuery
使用AngularJS对表单提交内容进行验证的操作方法
Jul 12 Javascript
用Node提供静态文件服务的方法
Jul 06 Javascript
JavaScript中变量、指针和引用功能与操作示例
Aug 04 Javascript
微信小程序按钮点击跳转页面详解
May 06 Javascript
微信浏览器左上角返回按钮监听的实现
Mar 04 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
Mar 10 Javascript
微信小程序视频弹幕发送功能的实现
Dec 28 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
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
快速入门Vue
2016/12/19 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
深入解析Python中的urllib2模块
2015/11/13 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
python语言基本语句用法总结
2019/06/11 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
医药工作者的求职信范文
2013/09/21 职场文书
中学生校园广播稿
2014/01/16 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
供货协议书范本
2014/04/22 职场文书
岗位说明书范文
2014/05/07 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript