おじさんエンジニアの日記

おじさんエンジニアがWeb関連の技術、ガンプラのことを書くブログ

JavaScriptでCookie操作

仕事でJavaScriptCookie操作することになりクッキーを操作する関数を作った。
jQueryで楽に実装できるようだが、今回はライブラリを使えない条件だったので。
まだきちんとテストしていないので、何かしらバグがあるかも・・・。

/**
 *	Cookie保存
 *	key	クッキー名
 *	val	クッキーの値
 */
function setCookie(key, val) {
	limitDate = new Date();
	//有効期限(2週間)
	limitDate.setTime(limitDate.getTime() + (24 * 60 * 60 * 30 * 1000));
	tmp = key + '=' + escape(val) + '; ';
	tmp += 'path=/; ';
	tmp += 'expires=' + limitDate.toGMTString() + '; ';
	document.cookie = tmp;
}

/**
 *	Cookie取得
 *	key	クッキー名
 *	return クッキー名に該当するCookieの値
 */
function getCookie(key){
	var tmp = document.cookie + ';';
	var index1 = tmp.indexOf(key, 0);
	if(index1 != -1){
		tmp = tmp.substring(index1,tmp.length);
		var index2 = tmp.indexOf('=',0) + 1;
		var index3 = tmp.indexOf(';',index2);
		return(unescape(tmp.substring(index2,index3)));
	}
	return('');
}

 /**
 *	Cookie削除
 *	key	クッキー名
 */
function deleteCookie(key) {
	var limitDate = new Date();
	limitDate.setYear(limitDate.getYear() - 1);
	var tmp = key + '=; ';
	tmp += 'path=/; ';
	tmp += 'expires=' + limitDate.toGMTString() + '; ';
	document.cookie = tmp;
}