这篇文章主要介绍了JavaScript操作Cookie方法,实例分析了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, "//#FormatTableID_0#amp;");
- };
- // 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程序设计有所帮助。
新闻热点
疑难解答
图片精选