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实现运行代码需要刷新的解决方法
Aug 18 Javascript
javascript IE中的DOM ready应用技巧
Jul 23 Javascript
js change,propertychange,input事件小议
Dec 20 Javascript
如何调试异步加载页面里包含的js文件
Oct 30 Javascript
vue-router 路由基础的详解
Oct 17 Javascript
javascript填充默认头像方法
Feb 22 Javascript
ES6与CommonJS中的模块处理的区别
Jun 13 Javascript
详解vue文件中使用echarts.js的两种方式
Oct 18 Javascript
js实现弹出框的拖拽效果实例代码详解
Apr 16 Javascript
element-ui 中使用upload多文件上传只请求一次接口
Jul 19 Javascript
处理JavaScript值为undefined的7个小技巧
Jul 28 Javascript
多个Vue项目部署到服务器的步骤记录
Oct 22 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
php自定义apk安装包实例
2014/10/20 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
python实现TCP文件传输
2020/03/20 Python
python中selenium库的基本使用详解
2020/07/31 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
学校大课间活动方案
2014/01/30 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
工资证明范本
2015/06/12 职场文书