ライブラリを使わずにJavaScriptでHTTP cookieをパースする方法
提供: Node.js/JavaScript入門
スポンサーリンク
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');
となります。
関連項目
ツイート
スポンサーリンク