クッキーテスト

  1. function setCookie(name, value, expires, domain, path, secure) {
  2. var cookie = ''; //クッキー文字列を格納するための変数
  3. //「名前=値」を追加。値はエンコード処理
  4. cookie += name + '=' + encodeURIComponent(value);
  5. //expires が空でない場合
  6. if(expires){
  7. //変数 exps は有効期限を格納する変数
  8. var exps = new Date();
  9. exps.setDate(exps.getDate() + expires);
  10. //「expires=有効期限」を追加。
  11. cookie += '; expires=' + exps.toGMTString();
  12. }
  13. //domain, path, secure が空でない場合、それぞれを設定して追加
  14. if(domain) { cookie += '; domain' + domain;}
  15. if(path) { cookie += '; path=' + path; }
  16. if(secure) { cookie += '; secure'; }
  17. //cookieプロパティにクッキー文字列を設定
  18. document.cookie = cookie;
  19. }
  20. function getCookie(name) {
  21. //取得したクッキー文字列を「;」で分割
  22. var cookies = document.cookie.split(';');
  23. //個々のクッキーの情報(名前=値)を処理
  24. for(var i = 0; i < cookies.length; i ++) {
  25. //個々のクッキーの情報を「=」で分割
  26. var key_value = cookies[i].split('=');
  27. var key = $.trim(key_value[0]); //前後の空白を削除
  28. var value = $.trim(key_value[1]); //前後の空白を削除
  29. //名前の部分(key_value[0])が name と等しい場合、その値をデコードして返す
  30. if(key == name) { return decodeURIComponent(value); }
  31. }
  32. //該当する名前のクッキーがない場合は null を返す
  33. return null;
  34. }
  35. setCookie("test1", "abc", 1);
  36. setCookie("test2", "def", 1, "");
  37. setCookie("test3", "ghi", 1, "", "/pr");
  38. document.cookie = 'test4=123; path=/pr/';
  39. console.log(getCookie("test1"));
  40. console.log(getCookie("test2"));
  41. console.log(getCookie("test3"));
  42. console.log(getCookie("test4"));