JS设置cookie、读取cookie、删除cookie


Posted in Javascript onApril 17, 2015

JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。

而cookie是运行在客户端的,所以可以用JS来设置cookie.

假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限的,当发生页面跳转或者页面关闭的时候,这些变量的值会重新载入,即没有达到保存的效果。解决这个问题的最好的方案是采用cookie来保存该变量的值,那么如何来设置和读取cookie呢?

首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。

JS设置cookie:

假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为:

document.cookie="name="+username;

JS读取cookie:

假设cookie中存储的内容为:name=jack;password=123

则在B页面中获取变量username的值的JS代码如下:

var username=document.cookie.split(";")[0].split("=")[1];
//JS操作cookies方法!
//写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 getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}

删除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();
}
//使用示例
setCookie("name","hayden");
alert(getCookie("name"));
//如果需要设定自定义过期时间
//那么把上面的setCookie 函数换成下面两个函数就ok;
//程序代码
function setCookie(name,value,time)
{
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getsec(str)
{
alert(str);
var str1=str.substring(1,str.length)*1;
var str2=str.substring(0,1);
if (str2=="s")
{
return str1*1000;
}
else if (str2=="h")
{
return str1*60*60*1000;
}
else if (str2=="d")
{
return str1*24*60*60*1000;
}
}
//这是有设定过期时间的使用示例:
//s20是代表20秒
//h是指小时,如12小时则是:h12
//d是天数,30天则:d30
setCookie("name","hayden","s20");

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
Jquery作者John Resig自己封装的javascript 常用函数
Nov 09 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
Feb 14 Javascript
jQuery数据缓存功能的实现思路及简单模拟
May 27 Javascript
javascript根据时间生成m位随机数最大13位
Oct 30 Javascript
jQuery实现的放大镜效果示例
Sep 13 Javascript
axios基本入门用法教程
Mar 25 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 jQuery
jQuery中的deferred对象和extend方法详解
May 08 jQuery
JavaScript之json_动力节点Java学院整理
Jun 29 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
Apr 22 Javascript
微信小程序实现留言板(Storage)
Nov 02 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
Jun 03 Javascript
js获取当前日期时间及其它操作汇总
Apr 17 #Javascript
JS中完美兼容各大浏览器的scrolltop方法
Apr 17 #Javascript
jQuery检测输入的字符串包含的中英文的数量
Apr 17 #Javascript
JS获取图片高度宽度的方法分享
Apr 17 #Javascript
JS替换字符串中空格方法
Apr 17 #Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
Apr 17 #Javascript
jQuery实现自定义事件的方法
Apr 17 #Javascript
You might like
php的dl函数用法实例
2014/11/06 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
python简单贪吃蛇开发
2019/01/28 Python
Python flask框架post接口调用示例
2019/07/03 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
中学生爱国演讲稿
2013/12/31 职场文书
静心口服夜广告词
2014/03/20 职场文书
听课评语大全
2014/04/30 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
2014年党小组工作总结
2014/12/20 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
初中政治教学反思
2016/02/23 职场文书
JavaScript 定时器详情
2021/11/11 Javascript
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记