//先设置一段子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. LVM命令摘要

      命令 描述 物理卷(PV) pvcreate 创建LVM磁盘     #pvcreate /dev/sdb pvdisplay 显示卷组中的物理卷信息 pvchange 设置PV的性能,允许或拒绝 ...

  2. WIN7 64位上 MYSQL的ODBC一些个人理解

    最近电脑中毒了,无奈之下把32位的xp换成了64位的win7,无聊耗时的搭完开发环境,装了vs6.0(忽略掉一切的不兼容),装完64位的mysql(“mysql-5.6.10-winx64.zip”) ...

  3. ASP.NET 中的返回按钮的实现【转】

      返回上一页的这个东东在我们做项目的时候一般是用于填写完表单后确认的时候,有对原来输入的数据进行修改时用的,或者是因为网站为了方便浏览者而有心添加 的一个东东,一般这种功能的实现在ASP.net中都 ...

  4. Dreamweaver管理Svn控制器内容

    一直以来很多人使用Dreamweaver来写css和xhtml.同时如果是应用于一个多人开发的项目的时候大家会使用svn或cvs来做版本控制的工作.但是可惜的是没有听说 Dreamweaver可以与版 ...

  5. 手机Web网站,设置拒绝电脑访问

    最近一段时间,都在使用Jquery-Mobile + MVC做手机Web,有一些心得.体会 下面介绍如何拒绝电脑访问手机网站 电脑的浏览器,跟手机的浏览器内核不一样,这是我设置拒绝访问的思路. 下面是 ...

  6. TComboBox组件的重要属性

    TComboBox组件的重要属性 CharCase--------此属性用于设置编辑框内文字的大小写DropDownCount---此属性用于设置当用户下拉组合框时不需要加滚动条就能显示的项的个数Dr ...

  7. zabbix log(logrt) key的使用

    今天看了篇帖子是关于如何利用zabbix 自带的key去读log,监控linux异常登陆,一直以来都是自己写脚本去读log的.就想看看这个zabbix log 这个key怎么样..好吧开始: 官方文档 ...

  8. php 求两个文件的相对路径

    网上看了一些这个题的一些解答方法,不过大多数就是对目前需求而定的,比如 $a = '/a/b/c/d/e.php'; $b = '/a/d/12/34/c.php'; getpath($a , $b ...

  9. 怎么用visual studio2010编写c++程序

    如何通过visual studio 2010编写一个简单的c++程序,随小编不一起看看如何编写. 首先打开visual studio 2010 点击软件左上角“文件-新建-项目”,选择“win32-w ...

  10. python 3.5 用户登录验证和输入三次密码锁定用户

    #!/usr/bin/env python #encoding: utf-8 #登录程序,输入用户和密码输出欢迎信息,输入错误三次锁定用户,不让登录 import sys print (''' 欢迎登 ...