@planjs/utils
Version:
🔧 Common tools collection
43 lines (38 loc) • 1.2 kB
JavaScript
import toDate from '../date/to-date';
/**
* 写cookies
* @param {string} name 写cookie的key
* @param {string|number} value 写cookie的值
* @param expires {DateInput}
* @throws Invalid Date
* @category Bom
*/
export var setCookie = function setCookie(name, value, expires) {
var exp = toDate(expires);
document.cookie = name + '=' + escape(value + '') + ';path=/;expires=' + exp.toUTCString();
};
/**
* 读取cookies
* @param {string} name 要获取的cookie名称
* @param {number|boolean} type 是否直接获取对应的值,若存入真值,则直接返回,否则进行解码
* @category Bom
*/
export var getCookie = function getCookie(name) {
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
var arr = document.cookie.match(reg);
if (arr) {
return type ? arr[2] : unescape(arr[2]);
}
return null;
};
/**
* 删除cookie
* @param name 删除的cookie名称
* @category Bom
*/
export var delCookie = function delCookie(name) {
var ex = new Date();
ex.setTime(ex.getTime() - 1);
document.cookie = name + '=; expires=' + ex.toUTCString() + ';path=/';
};