javascript操作cookie


Posted in Javascript onJanuary 17, 2017

前端js cookie的使用

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

js设置cookie

document.cookie="popped=yes"

js获取cookie

function get_cookie(Name) {
  var search = Name + "="//查询检索的值
  var returnvalue = "";//返回值
  if (document.cookie.length > 0) {
   sd = document.cookie.indexOf(search);
   if (sd!= -1) {
    sd += search.length;
    end = document.cookie.indexOf(";", sd);
    if (end == -1)
     end = document.cookie.length;
     //unescape() 函数可对通过 escape() 编码的字符串进行解码。
    returnvalue=unescape(document.cookie.substring(sd, end))
   }
  } 
  return returnvalue;
}
//使用方式:
get_cookie("popped");

给cookie设置终止日期

例如:如果要将cookie设置为10天后过期,可以这样实现:

//获取当前时间
var date=new Date();
var expiresDays=10;
//将date设置为10天以后的时间
date.setTime(date.getTime()+expiresDays*24*3600*1000);
//将userId和userName两个cookie设置为10天后过期
document.cookie="userId=828; userName=hulk; expires="+date.toGMTString();

删除cookie

为了删除一个cookie,可以将其过期时间设定为一个过去的时间,例如:

//获取当前时间
var date=new Date();
//将date设置为过去的时间
date.setTime(date.getTime()-10000);
//将userId这个cookie删除
document.cookie="userId=828; expires="+date.toGMTString();

下面封装上面的方法

var cookie = {
  set:function(key,val,time){//设置cookie方法
    var date=new Date(); //获取当前时间
    var expiresDays=time; //将date设置为n天以后的时间
    date.setTime(date.getTime()+expiresDays*24*3600*1000); //格式化为cookie识别的时间
    document.cookie=key + "=" + val +";expires="+date.toGMTString(); //设置cookie
  },
  get:function(key){//获取cookie方法
    /*获取cookie参数*/
    var getCookie = document.cookie.replace(/[ ]/g,""); //获取cookie,并且将获得的cookie格式化,去掉空格字符
    var arrCookie = getCookie.split(";") //将获得的cookie以"分号"为标识 将cookie保存到arrCookie的数组中
    var tips; //声明变量tips
    for(var i=0;i<arrCookie.length;i++){  //使用for循环查找cookie中的tips变量
      var arr=arrCookie[i].split("=");  //将单条cookie用"等号"为标识,将单条cookie保存为arr数组
      if(key==arr[0]){ //匹配变量名称,其中arr[0]是指的cookie名称,如果该条变量为tips则执行判断语句中的赋值操作
        tips=arr[1];  //将cookie的值赋给变量tips
        break;  //终止for循环遍历
      }
    },
   delete:function(key){ //删除cookie方法
     var date = new Date(); //获取当前时间
     date.setTime(date.getTime()-10000); //将date设置为过去的时间
     document.cookie = key + "=v; expires =" +date.toGMTString();//设置cookie
    }
    return tips;
  }
}

使用方式:

cookie.set("uesr","sss",24);//设置为24天过期
alert(cookie.get("uesr"));//获取cookie

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
javascript开发技术大全 第4章 直接量与字符集
Jul 03 Javascript
jQuery代码优化 选择符篇
Nov 01 Javascript
js二维数组定义和初始化的三种方法总结
Mar 03 Javascript
JavaScript实现简单图片滚动附源码下载
Jun 17 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
Nov 30 Javascript
jQuery实现内容定时切换效果完整实例
Apr 06 Javascript
vue使用stompjs实现mqtt消息推送通知
Jun 22 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
angularjs获取到My97DatePicker选中的值方法
Oct 02 Javascript
Vue.js中的组件系统
May 30 Javascript
Node使用Selenium进行前端自动化操作的代码实现
Oct 10 Javascript
微信小程序中wxs文件的一些妙用分享
Feb 18 Javascript
vue.js学习笔记:如何加载本地json文件
Jan 17 #Javascript
微信小程序 网络请求(post请求,get请求)
Jan 17 #Javascript
详解微信小程序开发之城市选择器 城市切换
Jan 17 #Javascript
微信小程序实战之运维小项目
Jan 17 #Javascript
vue双向数据绑定原理探究(附demo)
Jan 17 #Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
Jan 17 #Javascript
浅析vue数据绑定
Jan 17 #Javascript
You might like
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
2015/05/14 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
详解Python中for循环的使用
2015/04/14 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
浅析python中while循环和for循环
2019/11/19 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
Python 如何批量更新已安装的库
2020/05/26 Python
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
请用用Java代码写一个堆栈
2012/01/26 面试题
人力资源经理的岗位职责范本
2014/02/28 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
重阳节主题班会
2015/08/17 职场文书
python glom模块的使用简介
2021/04/13 Python
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS