Javascript 对cookie操作详解及实例

发布时间 - 2026-01-10 22:11:39    点击率:

js 操作 cookie 的方法

cookie

cookie,有时候也用其复数形式Cookies,指某些网站为了辨别用户身份,进行session跟踪而储存在用户本地终端上的数据(经常通过加密)。定义于RFC2109和2965都已废弃,最新取代的规范是RFC6265。

cookie的作用

服务器可以利用Cookie包含信息的任意性来筛选经常性维护这些信息,以判断在HTTP传输中的状态。Cookie最典型的英语是判断注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录步骤,浙西都是Cookie的功能。另一个重要张合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookie,以便在最后付款时提取信息。

js设置cookie

document.cookie="key=value";
//例
document.cookie="name=weiqi";

//可以在控制台中打印出cookie
console.log(document.cookie);

如何修改和获取cookie

js中并没有提供获取cookie的方法,所以只能自己封装方法,相同的key的cookie只能存在一个,如果定义了一个document.cookie="age=21",后面又定义了document.cookie="age=30",那么后面定义的cookie会覆盖前面定义的cookie,所以修改cookie值的时候只用重新定义个key相同的cookie就可以了。那么获取cookie的时候也只用在cookie中获取到这个key后面的“=”和“;”直接的字符串,那就是这个cookie的值了,获取的方法又很多种,这里我写一种比较简单的:

function getCookie(key){
  var index = document.cookie.indexOf(key);
  var returnValue;
  if(index!==-1){
    var tIndex = document.cookie.indexOf(";",index);
    var target = document.cookie.substring(index,tIndex);
    var returnValue = decodeURIComponent(target.replace(key+"=",""))
  }
  return returnValue;
}

document.cookie="name=weiqi";
getCookie("name"); //weiqi

删除cookie

cookie是有有效期的,前面我们设置cookie的时候都没有设置有效期,如果我们将cookie的有效期设置成一个已经过去的时间,那么它就无效了,下面来实现一下:

function delCookie(key){
  var d = new Date();
  document.cookie=key+"=;expires="+ d.toGMTString();
}

document.cookie="name=weiqi";
delCookie("name"); //undefined

给cookie设置一个有效期

通过expires给cookie设置一个有效期,现在我们设置一个cookie的有效期是10天,如下:

var d = new Date();
var time = 10;
d.setTime(d.getTime()+time*1000*60*60*24);
document.cookie="name=weiqi;expires="+ d.toGMTString();

封装cookie

将自定义的一些方法完善一下封装成一个对象,这样在使用的时候就可以直接拿来用了:

//封装cookie方法的对象
var cookie = {
  setCookie:function(key,value,time){
    if(key == undefined){
      return;
    }
    if(time!== undefined){
      var d = new Date();
      d.setTime(d.getTime()+time*1000*60*60*24);
      document.cookie=key+"="+value+";expires="+ d.toGMTString();
    }else{
      document.cookie=key+"="+value;
    }
  },
  getCookie:function(key){
    var index = document.cookie.indexOf(key);
    var returnValue;
    if(index!==-1){
      var tIndex = document.cookie.indexOf(";",index);
      var target = document.cookie.substring(index,tIndex);
      var returnValue = decodeURIComponent(target.replace(key+"=",""))
     }
    return returnValue;
  },
  delCookie:function(key){
    var d = new Date();
    document.cookie=key+"=;expires="+ d.toGMTString();
  }
}


//测试
cookie.setCookie("home")
cookie.setCookie("name","卫旗");
cookie.setCookie("age",22);
cookie.setCookie("sex","男")
cookie.getCookie("sex")
cookie.delCookie("age")

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# js  # 操作  # cookie  # Javascript  # cookie操作方法  # JS实现Cookie读、写、删除操作工具类示例  # javascript 中Cookie读、写与删除操作  # javascript 操作cookies详解及实例  # javascript操作cookie  # JS中对Cookie的操作详解  # JS封装cookie操作函数实例(设置、读取、删除)  # javascript操作Cookie(设置、读取、删除)方法详解  # js中的cookie的读写操作示例详解  # JS操作Cookie写入和读取实例代码  # JS操作Cookies包括(读取添加与删除)  # JavaScript实现cookie的操作  # 就可以  # 都是  # 是有  # 会在  # 用了  # 希望能  # 注册用户  # 自定义  # 英语  # 购物车  # 都已  # 谢谢大家  # 它就  # 用在  # 来实现  # 我写  # 可以利用  # 也用  # 设置成  # 最典型 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在IIS7中新建站点?详细步骤解析  如何在景安云服务器上绑定域名并配置虚拟主机?  如何在腾讯云服务器快速搭建个人网站?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  什么是javascript作用域_全局和局部作用域有什么区别?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  原生JS实现图片轮播切换效果  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何用虚拟主机快速搭建网站?详细步骤解析  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Laravel如何配置和使用缓存?(Redis代码示例)  WordPress 子目录安装中正确处理脚本路径的完整指南  如何快速搭建个人网站并优化SEO?  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何在Tomcat中配置并部署网站项目?  javascript日期怎么处理_如何格式化输出  如何在Ubuntu系统下快速搭建WordPress个人网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  java ZXing生成二维码及条码实例分享  如何获取PHP WAP自助建站系统源码?  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  iOS中将个别页面强制横屏其他页面竖屏  Laravel怎么实现模型属性的自动加密  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  免费网站制作appp,免费制作app哪个平台好?  微信推文制作网站有哪些,怎么做微信推文,急?  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Laravel怎么在Controller之外的地方验证数据  JavaScript如何操作视频_媒体API怎么控制播放  如何在企业微信快速生成手机电脑官网?  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  如何用免费手机建站系统零基础打造专业网站?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何生成腾讯云建站专用兑换码?  网站建设保证美观性,需要考虑的几点问题!  SQL查询语句优化的实用方法总结  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  JS弹性运动实现方法分析  如何有效防御Web建站篡改攻击?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  实例解析Array和String方法  打造顶配客厅影院,这份100寸电视推荐名单请查收