百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

js设置cookie,读取cookie,删除cookie的方法

cac55 2024-09-20 12:44 25 浏览 0 评论

cookie可以在用户的浏览器中保存一些信息,比如用户的用户名,密码等。今天这篇博文就说一说利用用原生的javascript代码来设置cookie,读取cookie,以及删除cookie的方法。

什么是cookie ?

cookie:是记录在用户浏览器中的信息,通常情况下是以“键/值”的形式进行存储的,可设置过期的时间.

如以下格式

name=mochu

name:为键名,也就是cookie记录的变量名

mochu:为cookie记录的值

当web页面向服务器发出请求时,属于此页面的所有cookie信息,也一并上传到服务器,服务器端可以通过对cookie的识别,来辨别出页面的来源或是用户的身份。

js创建 cookie 的方法

js中可以通过 document.cookie 来创建 cookie

方法1:

可以直接创建一个 cookie

document.cookie = "Name=mochu";

方法2:

创建一个带有过期时间的 cookie ,这里用的是 GMT 时间

document.cookie = "Name=mochu ; expires = Sat, 10 Aug 2019 08:55:38 GMT";

注意:如果不设置过期时间,则在浏览器关闭时,cookie自动过期或删除

方法3:

设置cookie的有效果路径,默认情况下,cookie只对当前页面有效果

path=/:表示cookie对web页面所属网站的全部页面有效果,你也可以自定义其它路径

document.cookie = "Name=mochu ; expires = Sat, 10 Aug 2019 08:55:38 GMT ;path=/";

自定义JS设置 cookie 的函数

函数代码

function setCookie(name, value, time='',path='') {
 if(time && path){
 var strsec = time * 1000;
 var exp = new Date();
 exp.setTime(exp.getTime() + strsec * 1);
 document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path="+path;
 }else if(time){
 var strsec = time * 1000;
 var exp = new Date();
 exp.setTime(exp.getTime() + strsec * 1);
 document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
 }else if(path){
 document.cookie = name + "=" + escape(value) + ";path="+path;
 }else{
 document.cookie = name + "=" + escape(value);
 }
}

函数调用

setCookie("Name", "mochu", 20);

参数:cookie名称,cookie值,过期时间(秒为单为),路径

js读取 cookie 的方法

js 读取cookie的方法也是要用到 document.cookie

如下代码:

var x = document.cookie;

document.cookie,会以字符串的形式反回所有的cookie

例:

setCookie("Name", "mochu",20,'/');
setCookie("pass", "123", 20, '/');
var x = document.cookie;
console.log(x);

打印结果:

Name=mochu; pass=123

自定义js获取 cookie 的函数

document.cookie 获取到的 cookie 都是字符串的形式,我们可以对其获取的结果进行加工,来输出指定的 cookie

function getCookie(name) {
 var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
 if (arr = document.cookie.match(reg)){
 return unescape(arr[2]);
 }else{
 return null;
 }
}

调用方法

console.log(getCookie('Name'));

打印结果:

mochu

js删除 cookie 的方法

js 删除cookie 的操作非常简单,只要将 cookie 的过期时候设置成比当前时间小就可以了

自定义函数代码:

function delCookie('Name'); {
 var exp = new Date();
 exp.setTime(exp.getTime() - 1);
 // 这里需要判断一下cookie是否存在
 var c = getCookie(name);
 if (c != null){
 document.cookie = name + "=" + c + ";expires=" + exp.toGMTString();
 }
}

调用方式:

delCookie('Name');

javascript 操作 cookie 代码整理:

<script>
 //设置cookie
 //注意:过期时间的单位是秒
 function setCookie(name, value, time='',path='') {
 if(time && path){
 var strsec = time * 1000;
 var exp = new Date();
 exp.setTime(exp.getTime() + strsec * 1);
 document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path="+path;
 }else if(time){
 var strsec = time * 1000;
 var exp = new Date();
 exp.setTime(exp.getTime() + strsec * 1);
 document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
 }else if(path){
 document.cookie = name + "=" + escape(value) + ";path="+path;
 }else{
 document.cookie = name + "=" + escape(value);
 }
 }
 //获取cookie
 function getCookie(name) {
 var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
 if (arr = document.cookie.match(reg)){
 return unescape(arr[2]);
 }else{
 return null;
 }
 }
 //删除cookie
 function delCookie(name) {
 var exp = new Date();
 exp.setTime(exp.getTime() - 1);
 // 这里需要判断一下cookie是否存在
 var c = getCookie(name);
 if (c != null){
 document.cookie = name + "=" + c + ";expires=" + exp.toGMTString();
 }
 }
</script>

相关推荐

苹果新macOS、新Mac还没出,但已经有新版虚拟机软件Parallels Desktop 19

自从苹果电脑全面转向ARM架构芯片之后,想在新款Mac电脑上安装Windows或Linux系统,就只能依靠虚拟机软件了,其中ParallelsDesktop应该是比较多Mac用户选择使用的一款,现在...

这个开源神器可快速帮你安装 MacOS 虚拟机

大家好,我是JackTian。安装Windows和Linux操作系统是最熟悉不过的必备技能了。那么,给大家推荐一个非常实用的开源脚本:macos-guest-virtualbox.sh,帮你...

如何在VMware虚拟机上安装运行Mac OS系统??

想在自己的Windows电脑上安装一个MacOS体验一下苹果系统的小伙伴,教程来了!!!一、安装前准备虚拟机运行软件:VMwareWorkstationPro,版本:16.0.0。(可以注册)VM...

效率!MacOS下超级好用的Linux虚拟工具:Lima

对于MacOS用户来说,搭建Linux虚拟环境一直是件让人头疼的事。无论是VirtualBox还是商业的VMware,都显得过于笨重且配置复杂。今天,我们要介绍一个轻巧方便的纯命令行Linux虚拟工具...

普通电脑安装苹果MacOS+Windows10双系统,这次可不是虚拟机

上篇文章中说到,有一朋友因为工作需要,得临时使用苹果系统,笔者给他用VmwareWorkStation安装了一个苹果系统的虚拟机,结果装是装上了,但是发现调整分辨率有点小问题,文件传输也不方便。虽说...

官方证实苹果M1芯片不支持Windows 11

中关村在线消息:近日根据微软官方透露,目前已经确定Windows11不支持运行在苹果M1芯片上,这意味着过往在Mac电脑上安装Windows系统的做法在M1芯片的Mac电脑上并不适用。不过此前有网友...

这可能是 Mac 共享文件最详细的教程了

如果希望让一台Mac访问另一台Mac上的文件,就可以使用Mac的文件共享功能。而且不仅是Mac之间,甚至用iPhone、iPad、WindowsPC都可以访问Mac的共享文件...

在 M1/M2 Mac 上,让 Windows 11 免费“跑”起来

自从苹果在产品中逐步使用自研的M系列芯片淘汰掉英特尔芯片之后,很多事情都发生了改变。作者|KirkMcElhearn和JoshuaLong译者|弯月出品|CSDN(ID:CS...

VMware Workstation克隆虚拟机后修改ip地址和mac地址

VMwareWorkstation克隆虚拟机,登录之后发现,克隆虚拟机不仅用户名相同,连ip地址、mac地址也是相同的,很显然访问相同ip地址的虚拟机是会出现ip地址冲突的。一、修改IP地址这就需要...

VirtualBox7中安装macOS big sur,在windows10&amp;11上「保姆级教程」

macOSBigSur是苹果公司研发的桌面端操作系统,于北京时间2020年6月23日在2020苹果全球开发者大会上发布。BigSur采用全新的精美设计,为主要app如Safari浏览器...

最强mac虚拟机Parallels Desktop 16 有哪些重要的新增功能?

ParallelsDesktop16正式发布,软件带来了一些显着的新功能和性能增强,包括对macOSBigSur的全面支持。当苹果推出macOSBigSur时,它终止了对Par...

关于在MacOS安装虚拟机的全过程(macos 安装虚拟机)

哈喽大家好,我是咕噜美乐蒂,很高兴又见面啦!下面美乐蒂将详细地给大家介绍一下在macOS上使用VMwareFusion创建虚拟机并安装操作系统的步骤:一、确认虚拟化支持:首先,确认你的Ma...

macOS上也能轻松运行Win系统的虚拟机,你还不知道吗?

在macOS系统上运行Win系统的方式,虚拟机篇吉安光头强原创你是否曾经为了在Mac上运行Windows系统而烦恼不用着急,下面我将分享一种简单易行的方法,让你轻松在Mac上运行Windows系统准备...

Mac M芯片上安装统信UOS 1070arm64虚拟机

原文链接:MacM芯片上安装统信UOS1070arm64虚拟机Hello,大家好啊!今天给大家带来一篇关于如何在苹果M系列芯片的Mac电脑上,通过VMware安装ARM64版统信UOS1070...

虚拟机不好用?Mac mini 多配一台Windows电脑,用远程桌面更好!

最近新入手了MacminiM4款,这里来更新一下相关问题,对于还没有购买Macmini,但是又想要用苹果电脑的朋友,一些参考,我觉得还是挺有用的!Macmini选择哪个渠道购买好?现在比较划算...

取消回复欢迎 发表评论: