Javascriptでcookieを扱う

Javascriptでcookieを扱う:


Javascriptでcookieを扱う

案件でCookieを扱う機会があったので、基本的なとこと重複チェックの方法をメモをしておきます。

// 書き込み 
document.cookie = 'name1=value1'; 
document.cookie = 'name2=value2'; 
 
// ,;スペースは使えない。使いたい場合は、encodeURIComponent()関数でエンコードする。 
 
 
// pathとsecureの指定を忘れずに 
document.cookie = 'name=value;path=/;secure'; 
 
 
// 取得 
var allCookie = document.cookie; 
console.log(allCookie); // "name1=value1; name2=value2" 
 
 
// 削除 
document.cookie = 'name=value;max-age=0'; 
 


重複チェック

// indexOfを使う 
var allCookie = document.cookie; 
var check = allCookie.indexOf('確認したい値'); 
console.log(check); // -1が返ってきたら重複無し 
 
// 大文字、小文字は区別する(Appleとappleは別物) 
// 重複があった場合は、その文字列が現れる最初の番号を返す。0から 
// 第2引数に、呼び出す文字列内の検索を始めるための位置を指定できる。デフォルトは0 
/* 
"Blue Whale".indexOf("Blue");     // 0 
"Blue Whale".indexOf("Blute");    // -1 
"Blue Whale".indexOf("Whale", 0); // 5 
"Blue Whale".indexOf("W", 0);     // 5 
*/ 
 
 
// split()を2回使う 
var allCookie = document.cookie; 
var tmp = allCookie.split('; '); // [name=value,name2=value2...]という配列が作る 
var flg = true; 
for (var i = 0; i < tmp.length; i++) { // [name,value][name2,value2]...という配列を作る 
    var data = tmp[i].split('=');  
    if (decodeURIComponent(data[1]) == '確認したい値') { 
        flg = false; 
    } 
} 
console.log(flg); // trueなら重複無し 
単純にチェックだけなら、indexOf、上書きとかしたいならsplitの方を使うと便利かなと思いました。

コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)