HOWTO · JavaScript

JavaScript 読み取り Cookie

この記事は、JavaScript で Cookie を読み取る機能を理解するのに役立ちます。

このページの内容

この記事では、JavaScript で Cookie を読み取る機能に取り組みます。

Cookie はドキュメントの値です。 Cookie オブジェクトとして、Cookie の読み取りは、Cookie を生成するのと同じくらい簡単です。 ドキュメントは、セミコロン (;) と cookie 文字列で区切られた name = value ペアのリストを保持します。ここで、name は Cookie の名前で、value はその文字列値です。

split() メソッド文字列の場合、文字列をキーと値に分割できます。

コード例:

<script type="text/javascript">

        function RdCookie() {
            var forallcookies = document.cookie;
            document.write("All Cookies : " + forallcookies);
            cookiesarr = forallcookies.split(';');

            for (var i = 0; i < cookiesarr.length; i++) {
                name = cookiesarr[i].split('=')[0];
                value = cookiesarr[i].split('=')[1];
                document.write("Key is : " + name + " and Value is : " + value);
            }
        }

    </script>

実行コード

このコードを任意のオンライン コンパイラで実行した後、ブラウザで実行してすべての Cookie を取得できるように、コードを保存する必要があります。 ここで、Array クラスの length 関数は配列の長さを返します。

他の Cookie が既にコンピューターにインストールされている可能性があります。 上記のコードは、コンピューターに配置されたすべての Cookie を一覧表示します。

出力:

All Cookies : csrftoken=qf2iNHP0TosxzZjQhSe25m9FEumZawCoL5y202yZUqkg4tRxi7Ze0sJD3u4iX1S6d0kQ%2FN4hN4ve4MuV63KdTw%3D%3DKey is : csrftoken and Value is : qf2iNHP0TosxzZjQhSe25m9FEumZawCoL5y202yZUqkg4tRxi7Ze0sJD3u4iX1S6d0kQ%2FN4hN4ve4MuV63KdTw%3D%3D

この RegEx ベースの関数を使用して、Cookie の値を検出および抽出できます。 Cookie を検出できない (または値がない) 場合は、空の文字列 " " が返されます。

コード例:

document.cookie = 'username=hiva; SameSite=None; Secure';
document.cookie = 'favorite_food=tripe; SameSite=None; Secure';

function rdCookies(name) {
  var output = document.cookie.match('(^|[^;]+)s*' + name + 's*=s*([^;]+)');
  return output ? output.pop() : '';
}

console.log(rdCookies('username'));

実行コード

RegEx を文字列 document.cookie と比較し、結果を変数出力に保存するだけです。 ここで理解しておくべき重要なことは、.output() が生成する変数の型です。

RegEx が一致する場合、出力は変数の配列になります。 正規表現が一致しない場合、結果は null になります。

.output() メソッドは、探している Cookie が document.cookie 内に見つからない (または値がない) かどうかを調べます。変数の一致は、JavaScript では null になります。

それが見つかったとします。 正規表現ベースの関数は配列変数を返します。

出力:

"hiva"