js cookie 操作 封装
pCookie.js
(function(){
var PotatogCookie = {};
//设置cookie
PotatogCookie.set = function(key, value, delay)
{
//默认cookie为七天之后过期 3s 4m 5h 7d 秒 分 时 天
if(delay == "undefined")delay = "7d";
delay = delay.toLowerCase();
var expireDate = new Date();
var num = parseInt(delay);
if(delay.indexOf("d") !== -1)
{
expireDate.setDate(expireDate.getDate() + num);
}
else if(delay.indexOf("h") !== -1)
{
expireDate.setHours(expireDate.getHours() + num);
}
else if(delay.indexOf("m") !== -1)
{
expireDate.setMinutes(expireDate.getMinutes() + num);
}
else if(delay.indexOf("s") !== -1)
{
expireDate.setSeconds(expireDate.getSeconds() + num);
}
else
{
expireDate.setDate(expireDate.getDate() + num);
}
if(typeof value == "object")
{
value = JSON.stringify(value);
}
value = escape(value);
document.cookie = key + "=" + value + ";expires=" + expireDate.toGMTString();
return this.get(key);
}
//得到cookie 如果不存在 返回 undefined
PotatogCookie.get = function(key)
{
var objCookie = {};
var cookie = document.cookie;
var keyValueList = cookie.split(";");
for(var index in keyValueList)
{
var keyValue = keyValueList[index].split("=");
var k = keyValue[0].trim();
var v = keyValue[1];
v = unescape(v);
v = this.decodeJson(v);
objCookie[k] = v;
}
if(typeof key == "undefined")
{
return objCookie;
}
return objCookie[key];
}
//删除cookie
PotatogCookie.del = function(key)
{
//删除所有cookie
if(typeof key == "undefined")
{
var cookieList = this.get();
for(key in cookieList)
{
this.del(key);
}
return true;
}
else
{
if(this.get(key) == "undefined")
{
return false;
}
else
{
return this.set(key,'',"0s");
}
}
}
PotatogCookie.decodeJson = function(value)
{
//数组转成的对象字符串
var regAryStr = /^\[[\s|\S]*\]$/;
//对象转成的对象字符串
var regObjStr = /^\{([\"\s|\S]+\"\:\"[\s|\S]*)+\"\}$/;
if(regAryStr.test(value))
{
return eval("(" + value + ")");
}
if(regObjStr.test(value))
{
return JSON.parse(value);
}
return value;
}
window.pCookie = PotatogCookie;
})(window);
demo.html
使用方式
设置cookie
pCookie.set("name","张三","7d");
读取cookie 如果不存在 返回undefined
var name = pCookie.get("name");不传参表示获得所有
删除cookie
pCookie.del("name");不传参表示删除所有
js cookie 操作 封装的更多相关文章
- js cookie的封装和调用
<script> function setCookie(cname,cvalue,exdays){ var d = new Date(); d.setTime(d.getTime()+(e ...
- js cookie操作
//写Cookie function writeCookie(name, value) { var expire = new Date(); expire.setFullYear(expire.get ...
- js cookie 操作
<html> <head> <meta charset="utf-8"> <title>Javascript cookie</ ...
- JS封装cookie操作函数实例(设置、读取、删除)
本文实例讲述了JS封装cookie操作函数.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...
- js cookie创建读取删除函数封装
js cookie创建读取删除函数封装 一.总结 都是为了方便操作,这样弄了很方便 1.创建cookie的函数封装的作用:方便设置过期时间expire,方便设置键和值 2.查询cookie的数据封装的 ...
- js简单操作Cookie
贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...
- js中cookie操作
js中操作Cookie的几种常用方法 * cookie中存在域的概念,使用path和domain区分: * 在同一域中的set和del可以操作同一名称的cookie,但不在同一域中的情况下,则set无 ...
- js 判断js函数、变量是否存在 JS保存和删除cookie操作,判断cookie是否存在的方法
//是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == " ...
- DES加密解密 与 Cookie的封装(C#与js互相加密解密)
2D JS框架 - DES加密解密 与 Cookie的封装(C#与js互相加密解密) 这次实现了JS端的DES加密与解密,并且C#端也能正确解析DES的密文(反之也实现了) 使用的代码如下,非常方 ...
随机推荐
- IoT experitment
Abstract: In order to solve the problems of complex experiment management, complicated teaching task ...
- Python随笔--Pickle
遇到问题:不能文件名为pickle.py
- 结队开发之NABCD
我们的产品小工具集合是为了解决办公室办公人员缺少一些快捷操作的痛苦,他们需要在不用登陆QQ或者QQ浏览器的情况下实现截图功能,但是现有的方案并没有很好地解决这些需求,我们有独特的办法,小工具集合中提供 ...
- 关于web项目中静态资源加载不了的一些解决思路
问题的产生: <!--springMVC前端控制器加载--> <servlet> <servlet-name>springmvc</servlet-name& ...
- 关于解决Mac使用docker安装SQL server for Linux 中文乱码问题
本人是Mac的追随者,无奈本学期数据库课要求使用Microsoft的SQL server.但是Microsoft并没有发布SQL server for Mac ,笔者使用Google搜索后, 发现可以 ...
- 阶段01Java基础day25网络编程
26.01_网络编程(网络编程概述) A:计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源 ...
- java基础知识—运算符和基本选择结构
1.保存真假,使用boolean变量 boolean有两个值:true 真 false 假 2.从控制台接受输入信息,通过创建扫描器 Sacnner input=new Sacnner(System. ...
- angular 的navigate 各种使用情况
navigate是Router类的一个方法,主要用来跳转路由. 函数定义: navigate(commands: any[], extras?: NavigationExtras) : Promise ...
- Gurobi在Python环境里安装与使用(Windows环境)
- Protege4.3 添加Rules 栏
SWRL rules can be edited in Protégé 4, but not with a nice interface like in Protégé 3. If you go to ...