JavaScript 创建与读取 Cookie 完整指南

作者:拾光

时间:2026-10-30

浏览:323

本文详细介绍 JavaScript 中 Cookie 的创建与读取方法。涵盖基础赋值、特殊字符编码及 SetCookie 函数的完整参数配置。重点解析两种读取策略:通过字符串索引定位和通过数组遍历匹配,并提供对应代码实现,帮助开发者掌握 Cookie 操作核心技巧。

文章目录

JavaScript Cookie 创建与读取概述

本文主要讲解 JavaScript 中 Cookie 的创建与读取操作,分为两个部分展开,旨在提供具体的实现方案供参考学习。

创建 Cookie 的方法

一、创建 Cookie

最简单的创建方式是直接赋值:document.cookie = 'key=value';

若值中包含特殊字符,需使用 encodeURIComponent() 进行编码处理。

例如:document.cookie = 'user='+encodeURIComponent('郭钱;');

在读取编码后的值时,应使用 decodeURIComponent() 进行解码。

具体示例如下:


document.cookie = 'name=guoqian';
document.cookie = 'age=24';
document.cookie = 'address=hunan';
document.cookie = 'user='+encodeURIComponent('郭钱;'); 

自定义一个创建 Cookie 的方法,以便更好地控制过期时间、路径等属性。


function SetCookie(name, value, expires, path, domain, secure) {
 var today = new Date();
 today.setTime(today.getTime());
 if(expires) { expires *= 86400000; }
 var expires_date = new Date(today.getTime() + (expires));
 document.cookie = name + "=" + escape(value)
  + (expires ? ";expires=" + expires_date.toGMTString() : "")
  + (path ? ";path=" + path : "")
  + (domain ? ";domain=" + domain : "")
  + (secure ? ";secure" : "");
}

读取 Cookie 的两种策略

二、获取 Cookie

方法一:使用字符串方式解析。


function getCookieByString(cookieName){
 var start = document.cookie.indexOf(cookieName+'=');
 if (start == -1) return false;
 start = start+cookieName.length+1;
 var end = document.cookie.indexOf(';', start);
 if (end == -1) end=document.cookie.length;
 return document.cookie.substring(start, end);
}

方法二:使用数组方式解析。


function getCookieByArray(name){
 var cookies = document.cookie.split(';');
 var c;
 for(var i=0; i<cookies.length ; i++){
  c = cookies[i].split('=');
  if (c[0].replace(' ', '') == name) {
   return c[1];
  }
 }
}
var r = decodeURIComponent(getCookieByArray('user'));
alert(r);

以上就是本文的全部内容,希望对大家的学习有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章