1. ホーム
  2. javascript

[解決済み] クッキーが存在するかどうかを確認するにはどうすればよいですか?

2022-03-09 22:08:51

質問

クッキーが存在するかどうかを確認する良い方法は何ですか?

条件

以下の場合、Cookieは存在します。

cookie1=;cookie1=345534;
//or
cookie1=345534;cookie1=;
//or
cookie1=345534;

以下の場合、Cookieは存在しません。

cookie=;
//or
<blank>

解決方法は?

欲しいCookieの名前を指定して関数getCookieを呼び出し、それが=nullであるかどうかをチェックすればよいのです。

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
        var end = document.cookie.indexOf(";", begin);
        if (end == -1) {
        end = dc.length;
        }
    }
    // because unescape has been deprecated, replaced with decodeURI
    //return unescape(dc.substring(begin + prefix.length, end));
    return decodeURI(dc.substring(begin + prefix.length, end));
} 

function doSomething() {
    var myCookie = getCookie("MyCookie");

    if (myCookie == null) {
        // do cookie doesn't exist stuff;
    }
    else {
        // do cookie exists stuff
    }
}