1. //先设置一段子cookie
  2. var d = new Date();
  3. d.setMonth(d.getMonth() + 1);
  4. d = d.toGMTString();
  5. var a = "name:a, age:20, addr:beijing";
  6. var c = "user=" + escape(a);
  7. c += ";" + "expires=" + d;
  8. document.cookie = c;
  9.  
  10. //读取所有cookie信息,包括子cookie信息的值
  11. //返回值:对象(键:每个cookie变量【包括子cookie中的键】,值:每个cookie变量的值【包括子cookie中的值】)
  12. function getSubCookie(){
  13. var a = document.cookie.split(";");
  14. var o = {};
  15. for (var i = 0; i < a.length; i++){ //遍历cookie信息数组
  16. a[i] && (a[i] = a[i].replace(/(^\s*)|(\s*$)/g,''));
  17. //清除头部空格符
  18. var b = a[i].split("=");
  19. var c = b[1];
  20. c && (c = c.replace(/(^\s*)|(\s*$)/g,''));
  21. c = unescape(c);
  22. //如果c中不包含逗号(不是子cookie),直接把c作为cookie变量的值存入对象
  23. if(!/\,/gi.test(c)){
  24. o[b[0]] = b[1];
  25. }else{
  26. var d = c.split(",");
  27. for(var j=0; j<d.length; j++){
  28. var e = d[j].split(":");
  29. e[0] && (e[0] = e[0].replace(/(^\s*)|(\s*$)/g,''));
  30. o[e[0]] = e[1];
  31. }
  32. }
  33. }
  34. return o;
  35. }

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

  1. //封装cookie存取功能,可以写入cookie,读取cookie,也可以删除cookie
  2. function Cookie(name, value, options){
  3. if(typeof value != 'undefined'){
  4. options = options || {};
  5. if(value === null){
  6. options.expires = -1;
  7. }
  8. var expires = '';
  9. if(options.expires && (typeof options.expires == 'number' || options.expires.toUTCString())){
  10. var date;
  11. if(typeof options.expires == 'number'){
  12. date = new Date();
  13. date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
  14. }else{
  15. date = options.expires;
  16. }
  17. expires = '; expires=' + date.toUTCString();
  18. }
  19. var path = options.path?'; path='+options.path:'';
  20. var domain = options.domain?'; domain='+options.domain:'';
  21. var secure = options.secure?'; secure':'';
  22. document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
  23. }else{
  24. var CookieValue = null;
  25. if(document.Cookie && document.Cookie != ''){
  26. var Cookies = document.Cookie.split(";");
  27. for( var i = 0; i < Cookies.length; i++){
  28. var Cookie = (Cookies[i] || "").replace(/^\s+|\s+$/g, "");
  29. //这个if写的屌
  30. if(Cookie.substring(0, name.length + 1) == (name + '=')){
  31. CookieValue = decodeURIComponent(Cookie.substring(name.length + 1));
  32. break;
  33. }
  34. }
  35. }
  36. return CookieValue;
  37. }
  38. }
  39.  
  40. //设置cookie
  41. Cookie('user', 'hebe', {expires:10, path:"/", domain:"baidu.com", secure: true});
  42. //读取cookie
  43. Cookie('user');
  44. //删除cookie
  45. 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. 读书笔记--用Python写网络爬虫01--网络爬虫简介

    Wiki - Web crawler 百度百科 - 网络爬虫 1.1 网络爬虫何时使用 用于快速自动地获取网络信息,避免重复性的手工操作. 1.2 网络爬虫是否合法 网络爬虫目前人处于早期的蛮荒阶段, ...

  2. Linux中命令行编译java接口总是提示找不到符号的疑难杂症的解决

    今天学习java的接口,在linux的命令行下写代码练练手吧,啪啪啪一顿猛敲,写了一个接口UsbInserface,UDisk继承UsbInterface,写完了那就编译到bin目录呗. 当时写程序的 ...

  3. ASP.NET-FineUI开发实践-10

    嵌套Grid,光棍月大放送,不藏着掖着.实在写的不好,没脸藏啊~只考虑显示排序修改什么的都不管! 话说三石官网加实例了,http://fineui.com/demo/#/demo/grid/grid_ ...

  4. (转)SVN源码管理(上&下)

    原文地址:http://www.cnblogs.com/IPrograming/archive/2012/12/15/SVN_1.html 使用SVN进行源码管理(上) 在原来的项目中使用的源码管理工 ...

  5. PHP编程规范

    好的编程规范不仅是对阅读者的负责,也是对自身的负责: ----割---- 一直以来我都是以php函数的风格来写php,所有变量,函数,类都使用小写,单词之间以下划线隔开,一直比较排斥驼峰式的代码规范, ...

  6. 数据库的事务处理必须满足ACID原则,ACID分别是指什么

    http://blog.csdn.net/dingxingmei/article/details/39270375

  7. Jenkins学习之——(3)将项目发送到tomcat

    本章节将讲解如何将项目发送到tomcat,实现自动部署. 我只将一个测试的maven项目托管到github上的,不了解git获github的朋友自己百度一下,我也写了一些关于git的文章,希望大家可以 ...

  8. Java直接插入算法

    直接插入算法是将N个带排序的元素看做成一个有序表和一个无序表. 每次从无序表中取一个元素和有序表比较,重复N-1次完成排序. 直接上代码: package test; public class Tes ...

  9. oracle 界面分页

    /** * */ package org.pan.util; import java.sql.ResultSet; import java.sql.SQLException; import java. ...

  10. Xamarin Add Mac

    右键IOS项目,设置为启动项目,点击启动(F5)弹出如下提示 提示开启远程访问权限,按照提示照做即可 在mac端 进入系统偏好设置 双击选择共享 打开远程登陆,允许所有用户访问 设置完成后点击ok 弹 ...