ライブラリを使わずにJavaScriptでHTTP cookieをパースする方法
提供: Node.js/JavaScript入門
2018年4月5日 (木) 00:15時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「jQueryなどのライブラリを使わずに、JavaScriptでHTTP cookieをパースする方法をまとめました。 '''読み方''' ;HTTP cookie:えいちてぃー...」)
スポンサーリンク
jQueryなどのライブラリを使わずに、JavaScriptでHTTP cookieをパースする方法をまとめました。
読み方
- HTTP cookie
- えいちてぃーてぃーぴー くっきー
概要
JavaScriptで HTTP cookie の値を取得するには
document.cookie
にアクセスします。
ブラウザのコンソールで
document.cookie
とか
console.log(document.cookie);
と入力すると、設定されいる cookie が表示されます。
JavaScriptのライブラリを使わずに、簡単に cookie の値を取得するサンプルを用意してみましたので、参考にしてパースしてみてください。
想定しているcookieのフォーマット
A=123; C=v=1&x=3;
ソースコード
cookie名前を指定して、値を取得する。
function get_cookie(cookies, name){ var c = new RegExp(name + "=[^;]+").exec(cookies); return c ? c[0].replace(name + '=', ''): null; }
使い方としては、
var cookie_a = get_cookie(document.cookie, 'A'); var cookie_c = get_cookie(document.cookie, 'C');
となります。
cookieのサブフィールドを指定して、値を取得する。 たとえば、以下のケースの場合、C という値の cookie のサブフィールドの v の値や x の値を取得します。
v=1&x=3
function get_cookie_part(cookie, name) { var c = new RegExp('&?'+name+'=([^&]+)').exec(cookie); return c ? c[1]:null; }
使い方としては、
var value_v = get_cookie_part('v=1&x=3', 'v'); var value_x = get_cookie_part('v=1&x=3', 'x');
となります。
関連項目
ツイート
スポンサーリンク