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实现计算两个日期的间隔天数
Aug 14 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
Sep 04 Javascript
js判断选择时间不能小于当前时间的示例代码
Sep 24 Javascript
JS事件在IE与FF中的区别详细解析
Nov 20 Javascript
用js控制组织结构图可以任意拖拽到指定位置
Jan 17 Javascript
Egret引擎开发指南之编译项目
Sep 03 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
Nov 12 Javascript
不定义JQuery插件 不要说会JQuery
Mar 07 Javascript
读Javascript高性能编程重点笔记
Dec 21 Javascript
jQuery插件扩展操作入门示例
Jan 16 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
Mar 30 Javascript
three.js实现圆柱体
Dec 30 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脚本的10个技巧(3)
2006/10/09 PHP
虚拟主机中对PHP的特殊设置
2006/10/09 PHP
PHP的分页功能
2007/03/21 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
读jQuery之三(构建选择器)
2011/06/11 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
学校七一活动方案
2014/01/19 职场文书
成本会计实训报告
2014/11/05 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
合同纠纷调解书
2015/05/20 职场文书
青涩记忆观后感
2015/06/18 职场文书
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python