当前位置: 首页 > news >正文

JS操作cookies方法

/**

* 写入cookies
*/
function setCookie(name, value) {
var time = "1d"; //默认一天失效
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec * 1);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}

/**
* 读取cookies
*/
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg))
return (arr[2]);
else
return null;
}

/**
* 删除cookies
*/
function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null)
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

/**
* 写入cookie
* 可自定义过期时间
*/
function setCookie(name, value, time) {
var strsec = getsec(time);
var exp = new Date();
exp.setTime(exp.getTime() + strsec * 1);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}

/**
* 获取时间
* s:秒,如20秒为 s20;
* h:小时,如12小时为 h12;
* d:天,如30天为 d30
* @param {[type]} str [description]
* @return {[type]} [description]
*/
function getsec(str) {
var str1 = str.substring(1, str.length) * 1;
var str2 = str.substring(0, 1);
if (str2 == "s") {
return str1 * 1000;
} else if (str2 == "h") {
return str1 * 60 * 60 * 1000;
} else if (str2 == "d") {
return str1 * 24 * 60 * 60 * 1000;
}
}

// 实例
setCookie("name","value","s20");

转载于:https://www.cnblogs.com/huliang56/p/5707186.html

相关文章:

  • 访谈《敏捷和精益项目集管理》的作者Johanna Rothman
  • spark Streaming的Receiver和Direct的优化对比
  • 浅说通字母配符[A-Z][a-z]的匹配问题
  • window server 2003于四信路由器的***组网方案
  • Linux CentOS 文件通配符介绍
  • shell exec 作用
  • UVA455 Periodic Strings
  • HTTP消息结构
  • php 经典分页(推荐和laypage配合)
  • spring获取webapplicationcontext,applicationcontext几种方法详解(转载)
  • ChakraCore现在可以在Linux和Mac OS上运行了
  • 如何让两个div并排显示
  • golang时间
  • git取消跟踪文件
  • window.location.href的用法
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • #Java异常处理
  • C++类中的特殊成员函数
  • Golang-长连接-状态推送
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Laravel Telescope:优雅的应用调试工具
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Vue 2.3、2.4 知识点小结
  • Vue.js源码(2):初探List Rendering
  • vue-cli3搭建项目
  • web标准化(下)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 技术胖1-4季视频复习— (看视频笔记)
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 深度解析利用ES6进行Promise封装总结
  • 深入 Nginx 之配置篇
  • 时间复杂度与空间复杂度分析
  • 微信小程序实战练习(仿五洲到家微信版)
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • C# - 为值类型重定义相等性
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​决定德拉瓦州地区版图的关键历史事件
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #pragma data_seg 共享数据区(转)
  • #大学#套接字
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (3)选择元素——(17)练习(Exercises)
  • (4)(4.6) Triducer
  • (6)STL算法之转换
  • (AngularJS)Angular 控制器之间通信初探
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (vue)页面文件上传获取:action地址
  • (一)Linux+Windows下安装ffmpeg
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • @RequestBody与@ModelAttribute
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?