cookieをオブジェクトにぶちこむjavascript

を作ってみました。

var getCookie = function(){
	var strCookie;			//cookie文字列
	var objCookie = {};		//cookieをkey・valueごとに格納用
	var aryTmp;				//汎用配列
	var aryTmp2;			//汎用配列
	var aryTmp3;			//汎用配列
	var tmpKey;				//key一時格納用
	var tmpVal;				//value一時格納用

	strCookie = unescape(document.cookie);
	aryTmp = strCookie.split("; ");
	for(var i=0;i<aryTmp.length;i++){
		//valueが単一の場合
		if(aryTmp[i].indexOf("&") === -1){
			aryTmp2 = aryTmp[i].split("=");
			tmpKey = aryTmp2[0];
			tmpVal = aryTmp2[1];
		}else{
		//valueが複数の場合
			tmpVal = {};
			aryTmp2 = aryTmp[i].split("&");
			for(j=0;j<aryTmp2.length;j++){
				aryTmp3 = aryTmp2[j].split("=");
				//イコールが2つある場合は先頭をkeyとみなす
				if(aryTmp3.length === 3){
					tmpKey = aryTmp3[0];
					tmpVal[aryTmp3[1]] = aryTmp3[2];
				}else if(aryTmp3.length === 2){
					tmpVal[aryTmp3[0]] = aryTmp3[1];
				}
			}
		}
		objCookie[tmpKey] = tmpVal;
	}

	return objCookie;


使い方はこんな感じ。

var test = getCookie();
test["key"];  //keyに対して値が一つしかない場合はこれでOK
test["key"]["val1"]  //keyに対して値が複数ある場合はこんな感じ


です。



今日のお疲れ!BGM♪
人間不信/毛皮のマリーズ