javascript新增、讀取、刪除cookie,判斷cookie是否有效,指定domain域下主路徑path下設定cookie,設定expires過期時間
阿新 • • 發佈:2018-11-30
有時我們需要用cookie儲存使用者名稱,記錄登入狀態,如何正確判斷該機使用者cookie是否存在呢?不能簡單使用a!=”這樣的寫法。
正確方法是:判斷是否存在名為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到主域,設定過期時間為一年 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的操作方法如下:
//獲得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;
}
//兩個引數,一個是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();
}