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 相关文章推荐
jQuery插件 tabBox实现代码
Feb 09 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
May 28 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
Sep 11 Javascript
基于javascript实现彩票随机数生成(简单版)
Apr 17 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
Apr 12 Javascript
JavaScript数组方法总结分析
May 06 Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 Javascript
Bootstrap CSS布局之表单
Dec 17 Javascript
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
JS实现TITLE悬停长久显示效果完整示例
Feb 11 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
Mar 31 Javascript
Vue Element UI自定义描述列表组件
May 18 Vue.js
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
解析crontab php自动运行的方法
2013/06/24 PHP
php生成zip文件类实例
2015/04/07 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
Javascript中Eval函数的使用说明
2008/10/11 Javascript
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
js实现登陆遮罩效果的方法
2015/07/28 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
用Python编程实现语音控制电脑
2014/04/01 Python
更改Python命令行交互提示符的方法
2015/01/14 Python
Python数据类型学习笔记
2016/01/13 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
英国著名的药妆网站:Escentual
2016/07/29 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
求职信格式范文
2015/03/19 职场文书
休学证明范本
2015/06/19 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
MySQL系列之二 多实例配置
2021/07/02 MySQL
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang