JavaScript 読み取り Cookie

Shiv Yadav 2023年10月12日
  1. ループベースの関数を使用して JavaScript で Cookie を読み取る
  2. 正規表現ベースの関数を使用して 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"
著者: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

関連記事 - JavaScript Cookie