Js添加、讀取、刪除cookie

有時咱們須要用cookie保存用戶名,記錄登陸狀態,如何正確判斷該機用戶cookie是否存在呢?不能簡單使用a!=」這樣的寫法。html

正確方法是:判斷是否存在名爲username3的cookie,使用document.cookie.indexOf(「username3=」)來判斷,若是返回值是-1,表示不存在。瀏覽器

a=getCookie("username3");
 c_start=document.cookie.indexOf("username3=");
 if(c_start == -1){
  $("#login_form").show();
     $("#logined").hide();
 }
 else{
  $("#login_form").hide();
     $("#logined").show();
     $("#ustr").html(a);
 }

設置一年過時時間的cookie,用當前時間加上365 * 24 * 60 * 60 * 1000(毫秒)cookie

//寫入cookie到主域,設置過時時間爲一年
    function SetCookie(name, value) {
        console.log(name, value)
        var str = name + "=" + escape(value) + ";domain=.cnblogs.com;path=/";
        var date = new Date();
        date.setTime(date.getTime() + 365 * 24 * 60 * 60 * 1000); //設置date爲當前時間加一年

        str += ";expires=" + date.toGMTString();
        console.log(str)
        document.cookie = str;
    }

用js添加、讀取、保存、刪除cookie的操做方法以下:dom

//得到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 ""; 
}
//刪除cookie
function delCookie(name)
{
   document.cookie = name+"=;expires="+(new Date(0)).toGMTString();
}
//獲取指定名稱的cookie的值
function getCookie(objName){
    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]);
   } 
}

//添加cookie function addCookie(objName,objValue,objHours){ 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; }ide

//兩個參數,一個是cookie的名子,一個是值
function SetCookie(name,value)
{
    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();
}
//取cookies函數        
function getCookie(name)
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr != null) return unescape(arr[2]); return null;
}
//刪除cookie
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();
}
相關文章
相關標籤/搜索