개발/WEB PROGRAMMING

[ JAVASCRIPT ] Cookie 관리해보자! 실개발 코딩하기 - Let's manage cookies! Real development coding

itaekwon class 2020. 11. 7.
728x90

자바스크립트에서 쿠키 관리하기 위한 모듈입니다. 

공통단에서 쓰기 편하오니 유용하게 쓰시기 바랍니다.

This module is for managing cookies in JavaScript.

It is easy to use in the common section, so please use it usefully.

	/**
	 * 쿠키를 관리한다.
	 */
	var CookieManager = {
		/**
		 * 쿠키에 데이터를 저장한다.
		 * 보관일수가 없다면, 쿠키 특성상 익스플로러가 종료하면 모두 사라진다.
		 * @param name : 이름
		 * @param value : 저장할 문자열
		 * @param expiredays : 보관 일수(Optional)
		 */
		put : function(name, value, expiredays) {
			var expire = new Date();
	        expire.setDate(expire.getDate() + expiredays);
	        var cookies = name + '=' + escape(value) + '; path=/ '; // 한글 깨짐을 막기위해 escape(value)를 합니다.
	        if(typeof(expiredays) != 'undefined') cookies += ';expires=' + expire.toGMTString() + ';';
	        document.cookie = cookies;
		},
		
		/**
		 * 쿠키에 저장된 데이터를 가져온다.
		 * @param name : 이름
		 * @return 저장된 데이터가 없다면, 빈문자열을 반환한다.
		 */
		get : function(name) {
			 name = name + '=';
	         var cookies = document.cookie;
	         var start = cookies.indexOf(name);
	         var value = '';
	         if(start != -1){
	              start += name.length;
	              var end = cookies.indexOf(';', start);
	              if(end == -1)end = cookies.length;
	              value = cookies.substring(start, end);
	         }
	         return unescape(value);
		},
		
		/**
		 * 쿠키에 저장된 값을 지운다.
		 * @param name : 이름
		 */
		remove : function(name) {
			CookieManager.put(name, '', -1);
		},
		
		/**
		 * 쿠키에 저장된 값을 JSESSIONID을 제외하고 모두 지운다.
		 */
		removeAll : function() {
			var cookies = document.cookie.split(";");
			for (var i = 0; i < cookies.length; i++) {
				var key = cookies[i].split("=")[0];
				if (key != "JSESSIONID") { 
					CookieManager.remove(key);
				}
			}
		}
728x90

댓글