javascript設(shè)置和獲取cookie的方法實例詳解
本文實例講述了javascript設(shè)置和獲取cookie的方法。分享給大家供大家參考,具體如下:
1. 設(shè)置cookie
function setCookie(cookieName,cookieValue,cookieExpires,cookiePath)
{
cookieValue = escape(cookieValue);//編碼latin-1
if(cookieExpires=="")
{
var nowDate = new Date();
nowDate.setMonth(nowDate.getMonth()+6);
cookieExpires = nowDate.toGMTString();
}
if(cookiePath!="")
{
cookiePath = ";Path="+cookiePath;
}
document.cookie= cookieName+"="+cookieValue+";expires="+cookieExpires+cookiePath;
}
2. 獲取cookie
function getCookieValue(cookieName)
{
var cookieValue = document.cookie;
var cookieStartAt = cookieValue.indexOf(""+cookieName+"=");
if(cookieStartAt==-1)
{
cookieStartAt = cookieValue.indexOf(cookieName+"=");
}
if(cookieStartAt==-1)
{
cookieValue = null;
}
else
{
cookieStartAt = cookieValue.indexOf("=",cookieStartAt)+1;
cookieEndAt = cookieValue.indexOf(";",cookieStartAt);
if(cookieEndAt==-1)
{
cookieEndAt = cookieValue.length;
}
cookieValue = unescape(cookieValue.substring(cookieStartAt,cookieEndAt));//解碼latin-1
}
return cookieValue;
}
例子:
<!doctype html>
<html>
<head>
<title>cookie</title>
<meta charset="utf-8">
<script language="javascript" type="text/javascript">
//獲取cookie
function getCookieValue(cookieName)
{
var cookieValue = document.cookie;
var cookieStartAt = cookieValue.indexOf(""+cookieName+"=");
if(cookieStartAt==-1)
{
cookieStartAt = cookieValue.indexOf(cookieName+"=");
}
if(cookieStartAt==-1)
{
cookieValue = null;
}
else
{
cookieStartAt = cookieValue.indexOf("=",cookieStartAt)+1;
cookieEndAt = cookieValue.indexOf(";",cookieStartAt);
if(cookieEndAt==-1)
{
cookieEndAt = cookieValue.length;
}
cookieValue = unescape(cookieValue.substring(cookieStartAt,cookieEndAt));//解碼latin-1
}
return cookieValue;
}
//設(shè)置cookie
function setCookie(cookieName,cookieValue,cookieExpires,cookiePath)
{
cookieValue = escape(cookieValue);//編碼latin-1
if(cookieExpires=="")
{
var nowDate = new Date();
nowDate.setMonth(nowDate.getMonth()+6);
cookieExpires = nowDate.toGMTString();
}
if(cookiePath!="")
{
cookiePath = ";Path="+cookiePath;
}
document.cookie= cookieName+"="+cookieValue+";expires="+cookieExpires+cookiePath;
}
//頁面加載時間處理函數(shù)
function window_onload()
{
var userNameElem = document.getElementById("userName");//用戶名輸入框?qū)ο?
var passwordElem = document.getElementById("password");//密碼輸入框?qū)ο?
var currUserElem = document.getElementById("currUser");//復(fù)選框?qū)ο?
var currUser = getCookieValue("currUser");
if(currUser!=null)
{
userNameElem.value=currUser;
currUserElem.checked = true;
}
if(userNameElem.value!="")
{
passwordElem.focus();//密碼輸入框獲得焦點(diǎn)
}
else
{
currUserElem.focus();//用戶名輸入框獲得焦點(diǎn)
}
}
//表單提交處理
function login()
{
var userNameElem = document.getElementById("userName");
var passwordElem = document.getElementById("password");
var currUserElem = document.getElementById("currUser");
if(userNameElem.value=="" || passwordElem.value=="")
{
alert("用戶名或密碼不能為空!");
if(userNameElem.value=="")
{
userNameElem.focus();//用戶名輸入框獲得焦點(diǎn)
}
else
{
passwordElem.focus();//密碼輸入框獲得焦點(diǎn)
}
return false;
}
if(currUserElem.checked)
{
setCookie("currUser",userNameElem.value,"","");//設(shè)置cookie
}
else
{
var nowDate = new Date();//當(dāng)前日期
nowDate.setMonth(nowDate.getMonth()-2);//將cookie的過期時間設(shè)置為之前的某個日期
cookieExpires = nowDate.toGMTString();//過期時間的格式必須是GMT日期的格式
setCookie("userName","",cookieExpires,"");//刪除一個cookie只要將過期時間設(shè)置為過去的一個時間即可
}
return true;
}
</script>
<style type="text/css">
div{
font-size:12px;
}
</style>
</head>
<body onload="window_onload()">
<div>
<form id="loginForm" onsubmit="return login()">
用戶名:<input type="text" id="userName"><br>
密 碼:<input type="password" id="password">
<input type="checkbox" id="currUser">記住用戶名<br>
<input type="submit" value="登錄">
</form>
</div>
</body>
</html>
注意:
由于google Chrome瀏覽器為了安全只支持online-cookie,所以在本地測試時是沒有效果的,需要上傳到服務(wù)器試一下。
更多關(guān)于JavaScript操作cookie相關(guān)內(nèi)容可查看本站專題:《JavaScript 操作 cookie相關(guān)知識匯總》及《jQuery的cookie操作技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
JavaScript實現(xiàn)定時隱藏與顯示圖片的方法
這篇文章主要介紹了JavaScript實現(xiàn)定時隱藏與顯示圖片的方法,可實現(xiàn)javascript定時關(guān)閉圖片的功能,涉及javascript針對頁面元素屬性定時操作的相關(guān)技巧,需要的朋友可以參考下2015-08-08
JavaScript數(shù)組Array對象增加和刪除元素方法總結(jié)
這篇文章主要介紹了JavaScript數(shù)組Array對象增加和刪除元素方法,實例總結(jié)了pop方法、push方法、splice方法、concat方法等的使用技巧,需要的朋友可以參考下2015-01-01
JavaScript 阻止超鏈接跳轉(zhuǎn)的操作方法(多種寫法)
很多朋友問小編能否通過JavaScript來阻止超鏈接的跳轉(zhuǎn)呢,今天給大家通過多種寫法來實現(xiàn)這一功能,具體實例代碼跟隨小編一起看看吧2021-06-06

