HOWTO · JavaScript
JavaScript 読み取り Cookie
この記事は、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
正規表現ベースの関数を使用して JavaScript で Cookie を読み取る
この 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"