JavaScript操作Cookie方法实例分析
本文实例讲述了JavaScript操作Cookie方法。分享给大家供大家参考。具体如下:
// My methods for setting, reading and deleting cookies.
// I have methods to check for the existence of cookie names or values,
// to retrieve by name or value, and to create a formatted string of
// all the cookies.
// My site: andrew.dx.am
var SetCookie = function (name, value, expires, path, domain, secure) {
// The caller should Trim the name/value pair, if required.
// Sets the name/value pair (encoded); 'expires' is the no. of days.
var expires_date;
if (expires) {
expires_date = new Date();
expires_date.setDate(expires_date.getDate() + expires);
}
document.cookie = encodeURIComponent(name) + "=" +
encodeURIComponent(value) +
( ( expires ) ? ";expires=" + expires_date.toUTCString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
};
var DeleteCookie = function (name, path, domain) {
// The caller should Trim the name/value pair.
// Encodes the name before deleting.
document.cookie = encodeURIComponent(name) + "=" +
( ( path ) ? ";path=" + path : "") + ( ( domain ) ? ";domain=" +
domain : "" ) + ";expires=Fri, 01-Jan-2010 00:00:01 UTC";
};
var DelAllCookies = function () {
var currDate = new Date(), i, theCookie = document.cookie.split(";");
currDate = currDate.toUTCString();
i = theCookie.length;
while ( i-- ) {
document.cookie = theCookie[i] + "; expires =" + currDate;
}
};
var EscapeReg = function (str) {
// Helper fn: Escapes characters for use in a regular expression.
return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
};
// The following four functions do not Trim the name or value
// - the calling fns should do this.
var CNameExists = function (cookie_name) { // case-insensitive
var testName, myReg;
if (document.cookie.length == 0) return false;
testName = EscapeReg(cookie_name);
myReg = new RegExp('(^|;) ?' + testName + '=([^;]*)(;|$)','i');
return myReg.test(decodeURIComponent(document.cookie));
};
var CValueExists = function (cookie_value) { // case insensitive
var testName, myReg;
if (document.cookie.length == 0) return false;
testName = EscapeReg(cookie_value);
myReg = new RegExp('(=)' + testName + '(;|$)','i');
return myReg.test(decodeURIComponent(document.cookie));
};
var CNameGet = function (cookie_value) { // case-insensitive
var testName, myReg, results;
if (document.cookie.length == 0) return '';
testName = EscapeReg(cookie_value);
myReg = new RegExp('(^|;) ?([^=]*)=' + testName + '(;|$)','i');
results = decodeURIComponent(document.cookie).match(myReg);
return ( results ) ? results[2] : '';
};
var CValueGet = function (cookie_name) { // case-insensitive
var testName, myReg, results;
if (document.cookie.length == 0) return '';
testName = EscapeReg(cookie_name);
myReg = new RegExp('(^|;) ?' + testName + '=([^;]*)(;|$)','i');
results = decodeURIComponent(document.cookie).match(myReg);
return ( results ) ? results[2] : '';
};
var CookieStr = function () {
// Returns a string (with line breaks) which could be
// placed in, for example, a textarea.
return decodeURIComponent(document.cookie).
replace(/([^=;]+)=([^;]*)[;\s]*/g,'$1 ($2)\n') || '';
};
希望本文所述对大家的javascript程序设计有所帮助。
以上是 JavaScript操作Cookie方法实例分析 的全部内容, 来源链接: utcz.com/z/330341.html