function setCookie(name, value, expires, domain, path, secure) {
var cookie = ''; //クッキー文字列を格納するための変数
//「名前=値」を追加。値はエンコード処理
cookie += name + '=' + encodeURIComponent(value);
//expires が空でない場合
if(expires){
//変数 exps は有効期限を格納する変数
var exps = new Date();
exps.setDate(exps.getDate() + expires);
//「expires=有効期限」を追加。
cookie += '; expires=' + exps.toGMTString();
}
//domain, path, secure が空でない場合、それぞれを設定して追加
if(domain) { cookie += '; domain' + domain;}
if(path) { cookie += '; path=' + path; }
if(secure) { cookie += '; secure'; }
//cookieプロパティにクッキー文字列を設定
document.cookie = cookie;
}
function getCookie(name) {
//取得したクッキー文字列を「;」で分割
var cookies = document.cookie.split(';');
//個々のクッキーの情報(名前=値)を処理
for(var i = 0; i < cookies.length; i ++) {
//個々のクッキーの情報を「=」で分割
var key_value = cookies[i].split('=');
var key = $.trim(key_value[0]); //前後の空白を削除
var value = $.trim(key_value[1]); //前後の空白を削除
//名前の部分(key_value[0])が name と等しい場合、その値をデコードして返す
if(key == name) { return decodeURIComponent(value); }
}
//該当する名前のクッキーがない場合は null を返す
return null;
}
setCookie("test1", "abc", 1);
setCookie("test2", "def", 1, "");
setCookie("test3", "ghi", 1, "", "/pr");
document.cookie = 'test4=123; path=/pr/';
console.log(getCookie("test1"));
console.log(getCookie("test2"));
console.log(getCookie("test3"));
console.log(getCookie("test4"));