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 相关文章推荐
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
Apr 10 Javascript
javascript json 新手入门文档
Dec 03 Javascript
JS实现屏蔽shift,Ctrl,alt等功能键的方法
Jun 01 Javascript
JavaScript转换与解析JSON方法实例详解
Nov 24 Javascript
JS实现iframe自适应高度的方法示例
Jan 07 Javascript
js实现移动端编辑添加地址【模仿京东】
Apr 28 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
React学习笔记之高阶组件应用
Jun 02 Javascript
微信小程序项目实践之主页tab选项实现
Jul 18 Javascript
原生JS实现微信通讯录
Jun 18 Javascript
JavaScript实现打字游戏
Feb 19 Javascript
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
Apr 09 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实现多级树型菜单
2006/10/09 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
destoon常用的安全设置概述
2014/06/21 PHP
利用php生成验证码
2017/02/23 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
解放web程序员的输入验证
2006/10/06 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
toString()一个会自动调用的方法
2010/02/08 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
javascript基础知识
2016/06/07 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
python逆序打印各位数字的方法
2018/06/25 Python
Python3列表List入门知识附实例
2020/02/09 Python
python 绘制正态曲线的示例
2020/09/24 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
施华洛世奇西班牙官网:SWAROVSKI西班牙
2019/06/06 全球购物
C++是不是类型安全的
2014/02/18 面试题
日语专业推荐信
2013/11/12 职场文书
运动会广播稿200字
2014/01/15 职场文书
刘胡兰的英雄事迹材料
2014/02/11 职场文书
爱护花草树木的标语
2014/06/11 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
python中tkinter复选框使用操作
2021/11/11 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python