//先设置一段子cookie
var d = new Date();
d.setMonth(d.getMonth() + 1);
d = d.toGMTString();
var a = "name:a, age:20, addr:beijing";
var c = "user=" + escape(a);
c += ";" + "expires=" + d;
document.cookie = c; //读取所有cookie信息,包括子cookie信息的值
//返回值:对象(键:每个cookie变量【包括子cookie中的键】,值:每个cookie变量的值【包括子cookie中的值】)
function getSubCookie(){
var a = document.cookie.split(";");
var o = {};
for (var i = 0; i < a.length; i++){ //遍历cookie信息数组
a[i] && (a[i] = a[i].replace(/(^\s*)|(\s*$)/g,''));
//清除头部空格符
var b = a[i].split("=");
var c = b[1];
c && (c = c.replace(/(^\s*)|(\s*$)/g,''));
c = unescape(c);
//如果c中不包含逗号(不是子cookie),直接把c作为cookie变量的值存入对象
if(!/\,/gi.test(c)){
o[b[0]] = b[1];
}else{
var d = c.split(",");
for(var j=0; j<d.length; j++){
var e = d[j].split(":");
e[0] && (e[0] = e[0].replace(/(^\s*)|(\s*$)/g,''));
o[e[0]] = e[1];
}
}
}
return o;
}

代码片段2:封装cookie存取功能

//封装cookie存取功能,可以写入cookie,读取cookie,也可以删除cookie
function Cookie(name, value, options){
if(typeof value != 'undefined'){
options = options || {};
if(value === null){
options.expires = -1;
}
var expires = '';
if(options.expires && (typeof options.expires == 'number' || options.expires.toUTCString())){
var date;
if(typeof options.expires == 'number'){
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
}else{
date = options.expires;
}
expires = '; expires=' + date.toUTCString();
}
var path = options.path?'; path='+options.path:'';
var domain = options.domain?'; domain='+options.domain:'';
var secure = options.secure?'; secure':'';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
}else{
var CookieValue = null;
if(document.Cookie && document.Cookie != ''){
var Cookies = document.Cookie.split(";");
for( var i = 0; i < Cookies.length; i++){
var Cookie = (Cookies[i] || "").replace(/^\s+|\s+$/g, "");
//这个if写的屌
if(Cookie.substring(0, name.length + 1) == (name + '=')){
CookieValue = decodeURIComponent(Cookie.substring(name.length + 1));
break;
}
}
}
return CookieValue;
}
} //设置cookie
Cookie('user', 'hebe', {expires:10, path:"/", domain:"baidu.com", secure: true});
//读取cookie
Cookie('user');
//删除cookie
Cookie('user', null);

js函数收藏:获取cookie值的更多相关文章

  1. (转)js函数参数设置默认值

    原文:http://www.cnblogs.com/RightDear/archive/2013/06/26/3156652.html js函数参数设置默认值   php有个很方便的用法是在定义函数时 ...

  2. js创建和获取cookie

    创建cookie document.cookie='like=1'; //创建 cookie键名和值 var str = document.cookie; 获取cookie 读取cookiefunct ...

  3. js函数参数设置默认值

    php有个很方便的用法是在定义函数时可以直接给参数设默认值,如: function simue ($a=1,$b=2){  return $a+$b;}echo simue(); //输出3echo ...

  4. Js设置及获取Cookie的方法

    Login页面设置Cookie: <script type="text/javascript"> if(json.result=="true") { ...

  5. js设置与获取Cookie

    /*设置与获取Cookie*/ var Cookie ={} Cookie.write = function(key, value, duration){ var d = new Date(); d. ...

  6. JS获取Cookie值

    function GetLoginCookie() { var userCookie = getCookie("mycookie"); var loginname = userCo ...

  7. Js获取Cookie值的方法

    function getCookie(name) { var prefix = name + "=" var start = document.cookie.indexOf(pre ...

  8. js javascript 如何获取某个值在数组中的下标

    js 某个值在数组中的下标javascript中知道一个数组中的一个元素的值,如何获取数组下标JS 获取数组某个元素下标 函数方法 采用prototype原型实现方式,查找元素在数组中的索引值js查找 ...

  9. SpringMVC(十一) RequestMapping获取Cookie值

    可以在控制器方法中使用类似@CookieValue("JSESSIONID") String sessionID的方式,来获取请求中的Cookie的值. 样例控制器代码 packa ...

随机推荐

  1. Linux 系统运行级别

    Linux运行级别从0-6,共7个.  0:关机.不能将系统缺省运行级别设置为0,否则无法启动.  1:单用户模式,只允许root用户对系统进行维护.  2:多用户模式,但不能使用NFS(相当于Win ...

  2. ListView 水平滑动 水平和竖直滑动

    效果 Activity public class MainActivity extends Activity {     @Override     protected void onCreate(B ...

  3. NYOJ737

    题意:给n堆石子,按照顺序排列,只能相邻两堆石子合并,求最后合并为一堆时所花费的最小代价,石子合并代价为两堆石子之和. 输入: n(石子堆数) Xi(每堆石子个数) 输出: T(最小代价) 思路:经典 ...

  4. 关于HttpServlet和Servlet以及doPost和doGet关系

    这两天在看Servlet和Jsp,spring太难了,还是先看看基础,只怪自己太弱了. Servlet是一个接口,本身定义的是一种网络服务,HttpServlet是已经实现了Servlet接口,也就是 ...

  5. JS类百度的动态提示框思路及完成

    参考的代码来自这里: http://www.jb51.net/article/28075.htm 不过说实话,这个网站太烂了,不适合看代码,另外写代码的人是个大牛,但是却没有模块化思想,所以朕不高兴直 ...

  6. Cacti监控Windows主机,Windows主机的正确配置

    使用cacti监控Windows主机的时候经常遇到无法获取Windows主机的snmp信息和Windows主机的硬件信息,主要原因是Windows主机没有正确配置snmp,以下是正确的配置步骤:1.安 ...

  7. 完整版的strcpy函数

    char *strcpy(char *strDest,const char *strSrc) { assert((strDest!=NULL) && (strSrc!=NULL)); ...

  8. [转]简述volatile

    volatile int i=10; int j = i; ... int k = i; volatile 告诉编译器i是随时可能发生变化的,每次使用它的时候必须从i的地址中读取,因而编译器生成的可执 ...

  9. 开发ContentProvider的步骤

    开发ContentProvider的步骤如下: 1.编写一个类,该类必须继承自ContentProvider. 2.实现ContentProvider类中的所有抽象方法:insert() delete ...

  10. 2013中国大数据技术大会——BDTC2013

    阿里飞天平台总架构师唐洪分享了飞天开放平台. 飞天平台特点:同时支持在线和离线应用:安全控制:分布式部署,监控和诊断:无单点故障,可用性99.9%:数据3副本,数据可靠性“10个9”. 阿里飞天平台总 ...