Skip to content

Commit

Permalink
Update cookie的增删改查.js
Browse files Browse the repository at this point in the history
  • Loading branch information
Rain120 authored Apr 4, 2019
1 parent c2e6241 commit e1f7545
Showing 1 changed file with 73 additions and 0 deletions.
73 changes: 73 additions & 0 deletions cookie的增删改查.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,76 @@
/*
* @Author: Rain120
* @LastEditors: Rain120
* @Date: 2019-04-04 15:06:58
* @LastEditTime: 2019-04-04 16:48:29
*/

/**
* @description hasCookie
* @date 2019-04-04
* @param {*} name
* @returns
*/
function hasCookie (name) {
return (new RegExp('(?:^|;\\s*)' + encodeURIComponent(name).replace(/[-.+*]/g, '\\$&') + '\\s*\\=')).test(document.cookie)
}
/**
* @description getCookie
* @date 2019-04-04
* @param {*} name
* @returns
*/
function getCookie (name) {
var arr = document.cookie.match(new RegExp('(^| )' + name + '=([^;]*)(;|$)'))
if (arr !== null) {
return unescape(arr[2])
}
return null
}

/**
*
* @description setCookie
* @date 2019-04-04
* @param {*} name cookie name
* @param {*} value cookie value
* @param {*} options cookie options
* https://developer.mozilla.org/zh-CN/docs/Web/API/Document/cookie
* @options_value end, path, domain, secure,
*/
function setCookie (name, value, options) {
let attributes = ''
for (let key in options) {
if (key.toLowerCase() === 'secure') {
let secure = (typeof options[key]).toLowerCase() === 'boolean' ? options[key] ? `; ${key}` : '' : "; key = ''"
attributes += secure
} else if (key.toLowerCase() === 'expires') {
attributes += `; ${key} = ${options[key].toGMTString()}`
} else {
attributes += `; ${key} = ${options[key]}`
}
}
console.log(attributes)
document.cookie = `${encodeURIComponent(name)} = ${encodeURIComponent(value)}${attributes}`
}

/**
* @description deleteCookie
* @date 2019-04-04
* @param {*} name
*/
function deleteCookie (name) {
// setCookie(name, "", { expires: -1 })
document.cookie = `${name} = ; expires = ${new Date(0)}`
}

export {
hasCookie,
getCookie,
setCookie,
deleteCookie
}

/**
* 设置cookie
* @param {string} name 键名
Expand Down

0 comments on commit e1f7545

Please sign in to comment.