Closed1
特定の正規表現にマッチしたCookieを一括削除する(TypeScript)
ブラウザ上で特定の正規表現にマッチする名前のCookieをまとめて削除したいケースがあったのでメモ。
typescript
function removeMatchedCookies(regex: RegExp, domain: string) {
if (!navigator.cookieEnabled) return; // cookieがオフなので終了
const cookieNames = document.cookie.split(/=[^;]*(?:;\s*|$)/); // クッキーの名前一覧を取得
cookieNames.forEach((name) => {
if (regex.test(name)) {
document.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;domain=.${domain}`; // 有効期限が切れるように
}
});
}
// こんな感じで実行
removeMatchedCookies(/^abc/, "example.com"); // abcから始まる名前のcookieを一括削除したいとき
removeMatchedCookies(/abc$/, "example.com"); // abcで終わる名前のcookieを一括削除したいとき
説明するまでもないが、HttpOnlyなCookieについてはブラウザから削除することはできない。
このスクラップは2021/03/22にクローズされました