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 基础篇1 什么是js 建立第一个js程序
Mar 14 Javascript
php对mongodb的扩展(小试牛刀)
Nov 11 Javascript
JS实现日期加减的方法
Nov 29 Javascript
Javascript 按位取反运算符 (~)
Feb 04 Javascript
js时间比较示例分享(日期比较)
Mar 05 Javascript
轻松实现javascript数据双向绑定
Nov 11 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
Mar 03 Javascript
JS滚动到指定位置导航栏固定顶部
Jul 03 Javascript
vue图片加载失败时用默认图片替换的方法
Aug 29 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
Sep 23 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
Apr 27 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
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
PHP最常用的正则表达式
2017/02/13 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
统计出现最多的字符次数的js代码
2010/12/03 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
无闪烁更新网页内容JS实现
2013/12/19 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
bootstrap网页框架的使用方法
2016/05/10 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
python matplotlib拟合直线的实现
2019/11/19 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
Python threading模块condition原理及运行流程详解
2020/10/05 Python
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
焊接专业毕业生求职信
2013/10/01 职场文书
财务个人年度总结范文
2015/02/26 职场文书
会计专业求职信范文
2015/03/19 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis