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之九 一些瑕疵说明
Jun 21 Javascript
javascript中关于执行环境的杂谈
Aug 14 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
Nov 14 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
Oct 10 Javascript
JavaScript中的some()方法使用详解
Jun 09 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
Aug 05 Javascript
Bootstrap实现默认导航栏效果
Sep 21 Javascript
原生JavaScript实现Ajax异步请求
Nov 19 Javascript
jQuery封装animate.css的实例
Jan 04 jQuery
vue.js做一个简单的编辑菜谱功能
May 08 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
Jul 10 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 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实现文件预览功能
2017/05/23 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
基于Vue SEO的四种方案(小结)
2019/07/01 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
python基础教程之对象和类的实际运用
2014/08/29 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
成人教育自我鉴定
2013/11/01 职场文书
初中英语教学反思
2014/01/25 职场文书
主题实践活动总结
2014/05/08 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
周一问候语大全
2015/11/10 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript
使用CSS连接数据库的方式
2022/02/28 HTML / CSS