结合JavaScript权威指南,加上项目开发时在网上搜集的资料,整理了两种设置和获取cookie的方法。

<script>

//设置cookie  方法一
function setCookie(name,value){ 
  var exp = new Date(); 
  exp.setTime(exp.getTime() + 1*60*60*1000);//有效期1小时 
  document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 
}

/*存取cookie时一般要对容易注入的字符进行编码,相应的在获取cookie时要解码,编码方式有很多种,有时间的话写一篇关于编码解码的博客*/

//设置cookie 方法 二
直接存储cookie
document.cookie = "homepage = http://www.sina.com";

/*-------------------------------------------------------------------------------------------------------*/

//取cookies函数 方法 一
function getCookie(name){

  var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));

  if(arr != null)    

    return unescape(arr[2]);

  return null;

}

//取cookies函数  方法二

function getCookie(key){
  if(key==null)
    return null;
  if(Object.prototype.toString.call(key)=='[object String]'|| Object.prototype.toString.call(key)=='[object Number]')
  {
    var arrStr = document.cookie.split(";");
    for(var i= 0;i<arrStr.length;i++){
    var temp = arrStr[i].split("=");
    if(temp[0]==key)
      return unescape(temp[1]);
    }
    return null;
  }
  return null;
} </script> function setcookie(cookieName, cookieValue, seconds, path, domain, secure) {
if(cookieValue == '' || seconds < 0) {
cookieValue = '';
seconds = -2592000;
}
if(seconds) {
var expires = new Date();
expires.setTime(expires.getTime() + seconds * 1000);
}
domain = !domain ? cookiedomain : domain;
path = !path ? cookiepath : path;
document.cookie = escape(cookiepre + cookieName) + '=' + escape(cookieValue)
+ (expires ? '; expires=' + expires.toGMTString() : '')
+ (path ? '; path=' + path : '/')
+ (domain ? '; domain=' + domain : '')
+ (secure ? '; secure' : '');
} function getcookie(name, nounescape) {
name = cookiepre + name;
var cookie_start = document.cookie.indexOf(name);
var cookie_end = document.cookie.indexOf(";", cookie_start);
if(cookie_start == -1) {
return '';
} else {
var v = document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length));
return !nounescape ? unescape(v) : v;
}
}

JS设置获取cookies的更多相关文章

  1. 【转】分享前端开发中通过js设置/获取cookie的一组方法

    在前端开发中,通常都需要获取并记录用户的某些操作设置,这样可以使用户下一次访问网站时不用进行重复的调整设置同一个功能. js方法的完整代码如下: var cookie = { set:function ...

  2. js 设置 获取css样式

    先看一段代码,为了体现一会下面说的js用style获取css样式的不同 一:给div设置margin-left(用style设置css样式没什么问题) box.style.marginLeft=&qu ...

  3. js设置、获取、清除cookie

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  4. js无法获取.net设置的cookie

    使用CookieHelper帮助类: public class CookieHelper { #region 获取Cookie /// <summary> /// 获得Cookie的值 / ...

  5. js设置、获取单值cookie和多值cookie

    js设置.获取单值cookie和多值cookie,代码如下: var CookieUtil = (function () { var Cookie = function () { // 获取单值coo ...

  6. JS设置、获取DOM自定义属性

    jQuery方式 // 获取 $('#test').attr('mydata'); // 设置 $('#test').attr('mydata','data-content'); // 移除 $('# ...

  7. JS设置和获取盒模型的宽和高

    JS设置和获取盒模型的宽和高 dom.style.width/height:只能取出内联样式的宽度和高度 dom.currentStyle.width/height:获取即时的计算的样式,但是只有IE ...

  8. 运用JS设置cookie、读取cookie、删除cookie

    JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的.而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一种 ...

  9. JS设置cookie

    cookie 与 session 是网页开发中常用的信息存储方式.Cookie是在客户端开辟的一块可存储用户信息的地方:Session是在服务器内存中开辟的一块存储用户信息的地方. JavaScrip ...

随机推荐

  1. CloudStack API访问权限控制

    在我写开始之前,请先看下CS中国社区的一篇文章http://www.cloudstack-china.org/2012/12/1465.html,在第1点里讲了关于权限级别,command属性文件位置 ...

  2. nginx的url重写[rewrite规则和参考]

    本日志内容来自互联网和平日使用经验,整理一下方便日后参考. Nginx Rewrite 相关指令有 if.rewrite.set.return 等. if 的语法 应用于 server 和 locat ...

  3. cf C. Cupboard and Balloons

    http://codeforces.com/contest/342/problem/C #include <cstdio> #include <cstring> #includ ...

  4. GestureDetector和SimpleOnGestureListener的使用教程

    1. 当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(Vi ...

  5. Spring HTTP invoker 入门

    一.简介 Spring开发团队意识到RMI服务和基于HTTP的服务(如,Hessian)之间的空白.一方面,RMI使用JAVA标准的对象序列化机制,很难穿透防火墙.另一方面,Hessian/Burla ...

  6. EditText 文本内容输入限制

    实现InputFilter过滤器,需要覆盖一个叫filter的方法. public abstract CharSequence filter ( CharSequence source, int st ...

  7. 一个简单的面试题 很多人也会懵 i++ 和++i的区别

    以下分别输出i的值分别为多少 NSInteger i = 0 ; NSLog(@"%ld",i++); NSLog(@"%ld",i++); NSLog(@&q ...

  8. pip安装lxml报错

    报错信息![](6a9f8494-8771-49c6-a663-cdcb2bdea123_files/0f4e7b93-9725-4c02-97a8-298d395b6169.png) 解决方法:`` ...

  9. XSS第二节,XSS左邻右舍

    昨天的文章中引用了OWASP2013年的江湖排名,今天来看一下TOP中XSS的左邻右舍都是谁,先看一下他们的大名,再进一步介绍 [以下主要翻译自https://www.owasp.org/index. ...

  10. boost库在工作(39)网络UDP异步服务端之九

    前面创建的UDP服务器和客户端,都是同步的方式,也就是说当接收数据时,不能参与别的事情执行的.如果在一个只有界面线程的程序里,又不想创建多线程,导致复杂程度的增加,在这种情况之下,我们还有一个方案可以 ...