JS 操作 cookies 的方法

JavaScript030

JS 操作 cookies 的方法,第1张

var jcTool = new Object()/**

* 清除字符串左右两边的空格.

*

* @example jcTool.trim('your string')

* @return string

* @desc 清除字符串左右两边的空格.

*

*/

jcTool.trim = function(text) {

return (text || '').replace(/^\s+|\s+$/g, '')

}/**

* 创建一个指定名称和值以及其他可选参数cookie.

*

* @example jcTool.cookie('the_cookie', 'the_value')

* @desc 设置一个cookie.

* @return void

* @example jcTool.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true })

* @desc 设置一个带有所有参数的cookie.

* @return void

* @example jcTool.cookie('the_cookie', null)

* @desc 删除一个cookie.

* @return void

*

*/

/**

* 获取一个cookie的值.

*

* @example jcTool.cookie('the_cookie')

* @desc 获取一个cookie的值.

* @return string

*

* @name jcTool.cookie

*/

jcTool.cookie = function(name, value, options) {

if (typeof value != 'undefined') {

options = options || {}

if (value === null) {

value = ''

options.expires = -1

}

var expires = ''

if (options.expires &&(typeof options.expires == 'number' || options.expires.toUTCString)) {

var date

if (typeof options.expires == 'number') {

date = new Date()

date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000))

} else {

date = options.expires

}

expires = 'expires=' + date.toUTCString()

}

var path = options.path ? 'path=' + (options.path) : ''

var domain = options.domain ? 'domain=' + (options.domain) : ''

var secure = options.secure ? 'secure': ''

document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('')

} else {

var cookieValue = null

if (document.cookie &&document.cookie != '') {

var cookies = document.cookie.split('')

for (var i = 0i <cookies.lengthi++) {

var cookie = jcTool.trim(cookies[i])

if (cookie.substring(0, name.length + 1) == (name + '=')) {

cookieValue = decodeURIComponent(cookie.substring(name.length + 1))

break

}

}

}

return cookieValue

}

}以上为js获取cookies的方法,如有不明白的地方或者其他需求,请补充问题

js操作COOKIE,直接给document加上cookie就可以了,但是一般如果单个的加会很麻烦所以一般会直接写好一个函数,可以直接操作cookie,这样就很方便了

setCookie这个是写入cookie,第一个是名称,第二个是cookie值,第三个是过期时间

getCookie这个是查找cookie

removeCookie这是你需要删除的cookie

function setCookie(name, value, iDay) 

{

var oDate=new Date()

oDate.setDate(oDate.getDate()+iDay)

document.cookie=name+'='+encodeURIComponent(value)+'expires='+oDate

}

function getCookie(name)

{

var arr=document.cookie.split(' ')

var i=0

for(i=0i<arr.lengthi++)

{

//arr2->['username', 'abc']

var arr2=arr[i].split('=')

if(arr2[0]==name)

{

var getC = decodeURIComponent(arr2[1])

return getC

}

}

return ''

}

function removeCookie(name)

{

setCookie(name, '1', -1)

}

js清除cookie的方法一般是有两种方法。

1、一个是通过删除cookie的所有变量,其cookie也就随之被清除。代码实例如下:

script type="text/javascript">    

       //获得cookie函数    

       console.log(document.cookie)    

       function getCookie($name){    

         var data=document.cookie    

         var dataArray=data.split(" ")    

       for(var i=0i<dataArray.lengthi++){    

       var varName=dataArray[i].split("=")    

         if(varName[0]==$name){    

           return decodeURI(varName[1])    

         }       

    

         }    

      }    

       //删除cookie中所有定变量函数    

       function delAllCookie(){    

         var myDate=new Date()    

         myDate.setTime(-1000)//设置时间    

         var data=document.cookie    

         var dataArray=data.split(" ")    

         for(var i=0i<dataArray.lengthi++){    

           var varName=dataArray[i].split("=")    

           document.cookie=varName[0]+"='' expires="+myDate.toGMTString()    

         }    

                     

      }          

      alert(getCookie("wangsan"))    

      alert(getCookie("lisi"))    

      delAllCookie()//删除所有cookie变量    

      alert(getCookie("wangsan"))    

      alert(getCookie("lisi"))    

</script>

2、同过设置过期时间来使cookie过期以间接达到清除的目的或者将其内容设置为空,。代码实例如下:

<script type="text/javascript">    

       //获得cookie函数    

       console.log(document.cookie)    

       function getCookie($name){    

         var data=document.cookie    

         var dataArray=data.split(" ")    

       for(var i=0i<dataArray.lengthi++){    

       var varName=dataArray[i].split("=")    

         if(varName[0]==$name){    

           return decodeURI(varName[1])    

         }       

    

         }    

      }    

       //删除cookie中指定变量函数    

       function delCookie($name){    

         var myDate=new Date()    

         myDate.setTime(-1000)//设置时间    

         document.cookie=$name+"='' expires="+myDate.toGMTString()             

      }          

      alert(getCookie("wangsan"))    

      alert(getCookie("lisi"))    

      delCookie("wangsan")    

      alert(getCookie("wangsan"))    

      alert(getCookie("lisi"))    

</script>