zoukankan      html  css  js  c++  java
  • cookie的设置与取值

    设置cookie

    function cookie(key, value, options) {
      let days
      let time
      let result
    
      // A key and value were given. Set cookie.
      if (arguments.length > 1 && String(value) !== '[object Object]') {
        // Enforce object
        options = Object.assign({}, options)
        if (value === null || value === undefined) {
          options.expires = -1
        }
        if (typeof options.expires === 'number') {
          days = options.expires * 24 * 60 * 60 * 1000
          time = options.expires = new Date()
          time.setTime(time.getTime() + days)
        }
        value = String(value)
    
    return (document.cookie = `${encodeURIComponent(key)}=${
      options.raw ? value : encodeURIComponent(value)
    }
    ${options.expires ? `; expires=${options.expires.toUTCString()}` : ''}
    ${options.path ? `; path=${options.path}` : ''}
    ${options.domain ? `; domain='${options.domain}` : ''}
    ${options.secure ? '; secure' : ''}`)
      }
    
      // Key and possibly options given, get cookie
      options = value || {}
      const decode = options.raw
        ? function(s) {
            return s
          }
        : decodeURIComponent
      return (result = new RegExp(`(?:^|; )${encodeURIComponent(key)}=([^;]*)`).exec(document.cookie))
        ? decode(result[1])
        : null
    }

    /** * getCookie 获取cookies * @param {String} key * @param {String} defultValue */

    function getCookie() {
      const args = Array.prototype.slice.call(arguments)
      const key = args.length > 0 ? args[0] : null
      const defaultValue = args.length > 1 ? args[1] : ''
      // const cookieValue =cookie(key)
      let result = new RegExp(`(?:^|; )${encodeURIComponent(key)}=([^;]*)`).exec(document.cookie)
      result = result ? result[1] : null
      try {
        return result === null ? defaultValue : result
      } catch (error) {
        throw error
      }
    }
  • 相关阅读:
    Sublime Text 3专题
    00.PHP学习建议
    php面试题及答案收藏(转)
    (转)如何快速掌握一门技术
    最全的MySQL基础【燕十八传世】
    UEditor编辑器并不难
    学习一门语言难在什么地方?
    PHP中关于位运算符 与 或 异或 取反
    WebP是什么图片格式?你了解PNG、JPG、WebP和GIF的区别吗?
    Mysql 外键设置
  • 原文地址:https://www.cnblogs.com/restart77/p/12336349.html
Copyright © 2011-2022 走看看