js的cookie处理

<script language="javascript">
       //写cookies
       function setCookie(name,value)
       {
           var Days = 30;
           var exp = new Date();
           exp.setTime(exp.getTime() + Days*24*60*60*1000);
           document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
       }        
       //读取cookies
       function getCookie(name)
       {
           var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
           if(arr=document.cookie.match(reg))
           return unescape(arr[2]);
           else
           return null;
       }
       //删除cookies
       function delCookie(name)
       {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=getCookie(name);
        if(cval!=null)
        document.cookie= name + "="+cval+";expires="+exp.toGMTString();
        }
 </script>  
如何调用函数就很简单,直接使用setCookie("名","值")、getCookie("名")、delCookie("名")!

访问Cookie
 代码如下    复制代码
document.write(document.cookie);//输出类似"name1=value1; name2=value2; name3=value3"的字符串
document.write(typeof document.cookie);//cookie仅仅是个字符串
再看个实例
 代码如下    复制代码
<script language=javascript>
//获得coolie 的值
 
function cookie(name){   
   var cookieArray=document.cookie.split("; "); //得到分割的cookie名值对   
   var cookie=new Object();   
   for (var i=0;i<cookieArray.length;i++){   
      var arr=cookieArray[i].split("=");       //将名和值分开   
      if(arr[0]==name)return unescape(arr[1]); //如果是指定的cookie,则返回它的值   
   }
   return "";
}
 
function delCookie(name)//删除cookie
{
   document.cookie = name+"=;expires="+(new Date(0)).toGMTString();
}
 
function getCookie(objName){//获取指定名称的cookie的值
    var arrStr = document.cookie.split("; ");
    for(var i = 0;i < arrStr.length;i ++){
        var temp = arrStr[i].split("=");
        if(temp[0] == objName) return unescape(temp[1]);
   }
}
 
function addCookie(objName,objValue,objHours){      //添加cookie
    var str = objName + "=" + escape(objValue);
    if(objHours > 0){                               //为时不设定过期时间,浏览器关闭时cookie自动消失
        var date = new Date();
        var ms = objHours*3600*1000;
        date.setTime(date.getTime() + ms);
        str += "; expires=" + date.toGMTString();
   }
   document.cookie = str;
}
 
function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
    var Days = 30; //此 cookie 将被保存 30 天
    var exp = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数       
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr != null) return unescape(arr[2]); return null;
 
}
function delCookie(name)//删除cookie
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
</script>

From: http://www.111cn.net/wy/js-ajax/46604.htm


// var field = document.getElementById("field");
// // 检测是否存在 autosave 键值
// // (这个会在页面偶然被刷新的情况下存在)
// if (sessionStorage.getItem("autosave")) {
// // 恢复文本输入框的内容
// field.value = sessionStorage.getItem("autosave");
// }

// // 监听文本输入框的 change 事件
// field.addEventListener("change", function() {
// // 保存结果到 sessionStorage 对象中
// sessionStorage.setItem("autosave", field.value);
// });
// var getFee = document.cookie('fee');
// if(getFee)
// document.getElementById('fee').value = getFee;
// alert(document.cookie.indexOf('fee' + "="));

posted on 2016-01-21 21:49  阿卡贝拉  阅读(118)  评论(0)    收藏  举报