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 相关文章推荐
定义select的边框颜色
Apr 28 Javascript
JQuery 前台切换网站的样式实现
Jun 22 Javascript
javascript控制frame,iframe的src属性代码
Dec 31 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
Jan 16 Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
Apr 18 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 Javascript
vue-cli V3.0版本的使用详解
Oct 24 Javascript
新手入门js闭包学习过程解析
Oct 08 Javascript
js实现时钟定时器
Mar 26 Javascript
nuxt.js写项目时增加错误提示页面操作
Nov 05 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
详解Vue.js 响应接口
2020/07/04 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
python中正则表达式与模式匹配
2019/05/07 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
租赁协议书范本
2014/04/22 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
读群众路线的心得体会
2014/09/03 职场文书
2014年学生会干事工作总结
2014/11/07 职场文书