JavaScript で document.cookie の値を消す

超小ネタ

ググればいろいろあるけどとりいそぎこれが簡単。Cookie の仕様上 expires を過去の日付にすればいい。

// 日付作成
var d = new Date();
// 1970/01/01 にする
d.setTime(0)
// expiresで消す
document.cookie = 'hoge_cookie_key = hoge_cookie_value; expires=d.toGMTString();'

本当は document.cookie をパースして key を全部列挙して消すっていうのもためしたんだけどうまく消えてるかよくわかんなくてだるいから諦めた。こんな感じ。うろ覚え

var cookies = document.cookie.split(";");
var s = '';
for (var cookie in cookies){
  var d = new Date();
  d.setTime(0);
  s += cookie + ';expires=' + d.toGMTString();
}
document.cookie = s;

ちなみに jQuery なら jQueryCookie.js ってのがあるので素直にそれつかったほうが楽です。