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 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
Dec 25 Javascript
jsTree树控件(基于jQuery, 超强悍)[推荐]
Sep 01 Javascript
jQuery 自动增长的文本输入框实现代码
Apr 02 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 Javascript
AngularJS入门教程之Hello World!
Dec 06 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
基于jquery实现复选框全选,反选,全不选等功能
Oct 16 Javascript
Node.js程序中的本地文件操作用法小结
Mar 06 Javascript
用JS实现简单的登录验证功能
Jul 28 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
Sep 15 Javascript
vue实现在进行增删改操作后刷新页面
Aug 05 Javascript
JavaScript 如何计算文本的行数的实现
Sep 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
将数组写入txt文件 var_export
2009/04/21 PHP
php自定义函数之递归删除文件及目录
2010/08/08 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
php cookie 详解使用实例
2016/11/03 PHP
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
解决vue2中使用axios http请求出现的问题
2018/03/05 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
Python解释执行原理分析
2014/08/22 Python
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python调用摄像头拍摄数据集
2019/06/01 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
专业求职信撰写要诀
2014/02/18 职场文书
网络编辑职责
2014/03/01 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
js实现上传图片到服务器
2021/04/11 Javascript