zoukankan      html  css  js  c++  java
  • JS设置获取cookies

    结合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;
    }
    }
  • 相关阅读:
    Codeforces Round #420 (Div. 2) A-E
    Codeforces Round #419 (Div. 2) A-E
    Bzoj4423 [AMPPZ2013]Bytehattan
    51nod1471 小S的兴趣
    Bzoj2629 binomial
    51nod1056 最长等差数列 V2
    51nod1055 最长等差数列
    51nod1110 距离之和最小 V3
    20. 有效的括号
    155.最小栈
  • 原文地址:https://www.cnblogs.com/huntaheart/p/Little.html
Copyright © 2011-2022 走看看