JavaScript操作Cookie方法实例分析

时间:2021-05-26

本文实例讲述了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.amvar 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程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章