js 获取 cookie 值 根据 cookie 名称获取值 删除设置 cookie

js 获取 cookie 值 根据 cookie 名称获取值 删除设置 cookie
// 方法 1   
// 存在问题:如果 cookie 中存在  aaaname=aa;name=bb  获取 name 的值就会出现错误
function getCookie(c_name) {if (document.cookie.length > 0) { // 判断 cookie 是否存在
		// 获取 cookie 名称加 = 的索引值
		var c_start = document.cookie.indexOf(c_name + "=");
		if (c_start != -1) { // 说明这个 cookie 存在
			// 获取 cookie 名称对应值的开始索引值
			c_start = c_start + c_name.length + 1
			// 从 c_start 位置开始找第一个分号的索引值,也就是 cookie 名称对应值的结束索引值
			c_end = document.cookie.indexOf(";", c_start)
			// 如果找不到,说明是 cookie 名称对应值的结束索引值就是 cookie 的长度
			if (c_end == -1) c_end = document.cookie.length
			//unescape()  函数可对通过  escape()  编码的字符串进行解码
			// 获取 cookie 名称对应的值,并返回
			return unescape(document.cookie.substring(c_start, c_end))
		}
	}
	return "" // 不存在返回空字符串
}

// 方法 2
function getCookie2(name) {
	var strcookie = document.cookie; // 获取 cookie 字符串
	var arrcookie = strcookie.split("; "); // 分割
	// 遍历匹配
	for (var i = 0; i < arrcookie.length; i++) {var arr = arrcookie[i].split("=");
		if (arr[0] == name) {return arr[1];
		}
	}
	return "";
}

// 方法 3
function getCookie3(name) {
	// 可以搜索 RegExp 和 match 进行学习
	var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
	if (arr = document.cookie.match(reg)) {return unescape(arr[2]);
	} else {return null;}
}

// 写 cookies
function setCookie(name, value) {
	var Days = 30;
	var exp = new Date();
	exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
	document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();}

// 写 cookies 设置过期时间
function setCookie(cname, cvalue, exdays) {var d = new Date();
	d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
	var expires = "expires=" + d.toUTCString();
	document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

// 删除 cookies
function delCookie(name) {var exp = new Date();
	exp.setTime(exp.getTime() - 1);
	var cval = getCookie(name);
	if (cval != null)
		document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();}


手机扫描二维码访问

本文标题:《js 获取 cookie 值 根据 cookie 名称获取值 删除设置 cookie》作者:极四维博客
原文链接:https://cway.top/post/591.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年10月    »
123456
78910111213
14151617181920
21222324252627
28293031

搜索

控制面板

您好,欢迎到访网站!
  查看权限

最新留言

文章归档

  • 订阅本站的 RSS 2.0 新闻聚合