h5~js~cookie(16)

cookie的使用

Cookie的基本讲解

·         Cookies 是一些数据, 存储于你电脑上的文本文件中。
web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookies
的作用就是用于解决 "如何记录客户端的用户信息":
当用户访问 web 页面时,他的名字可以记录在 cookie 中。
在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。


Cookies 以名/值对形式存储,如下所示:

document.cookie="username=John Doe";



·         cookie 添加一个过期时间(以 UTC GMT 时间)。默认情况下,cookie 在浏览器关闭时删除:

document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT";

 

·         使用 JavaScript 读取 Cookie

var x = document.cookie;

document.cookie 将以字符串的方式返回所有的 cookies,类型格式: cookie1=value; cookie2=value; cookie3=value;
 JavaScript 中,修改 cookies 类似于创建 cookies

document.cookie="username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";

·         删除 cookie 非常简单。只需要设置 expires 参数为以前的时间或当前时间即可,

   document.cookie=cname+"=;expires="+today.toUTCString();//通过cname找到存的值,改过期时间为现在时间

                                   

JS设置Cookie多种方式

方法一:(w3c官网的代码)

第一种(w3c官网的代码)

<script>

//设置cookie

function setCookie(cname, cvalue, exdays) {

    var d = new Date();

    d.setTime(d.getTime() + (exdays*24*60*60*1000));

    var expires = "expires="+d.toUTCString();

    document.cookie = cname + "=" + cvalue + "; " + expires;

}

//获取cookie

function getCookie(cname) {

    var name = cname + "=";

    var ca = document.cookie.split(';');

    for(var i=0; i<ca.length; i++) {

        var c = ca[i];

        while (c.charAt(0)==' ') c = c.substring(1);

        if (c.indexOf(name) != -1) return c.substring(name.length, c.length);

    }

    return "";

}

//清除cookie 

function clearCookie(name) { 

    setCookie(name, "", -1); 

function checkCookie() {

    var user = getCookie("username");

    if (user != "") {

        alert("Welcome again " + user);

    } else {

        user = prompt("Please enter your name:", "");

        if (user != "" && user != null) {

            setCookie("username", user, 365);

        }

    }

}

checkCookie();

</script>

 

 

方法二:

 

<script>

//JS操作cookies方法!

 

//cookies

function setCookie(c_name, value, expiredays){

     var exdate=new Date();

    exdate.setDate(exdate.getDate() + expiredays);

    document.cookie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());

   }

 

//读取cookies

function getCookie(name)

{

    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

 

    if(arr=document.cookie.match(reg))

 

        return (arr[2]);

    else

        return null;

}

 

//删除cookies

function delCookie(name)

{

    var exp = new Date();

    exp.setTime(exp.getTime() - 1);

    var cval=getCookie(name);

    if(cval!=null)

        document.cookie= name + "="+cval+";expires="+exp.toGMTString();

}

//使用示例

setCookie('username','Darren',30)

alert(getCookie("username"));

</script>

 

 

方法三

<html>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <head>

        <script language="JavaScript" type="text/javascript">

           

            function addCookie(objName, objValue, objHours){//添加cookie

                var str = objName + "=" + escape(objValue);

                if (objHours > 0) {//0时不设定过期时间,浏览器关闭时cookie自动消失

                    var date = new Date();

                    var ms = objHours * 3600 * 1000;

                    date.setTime(date.getTime() + ms);

                    str += "; expires=" + date.toGMTString();

                }

                document.cookie = str;

                alert("添加cookie成功");

            }

           

            function getCookie(objName){//获取指定名称的cookie的值

                var arrStr = document.cookie.split("; ");

                for (var i = 0; i < arrStr.length; i++) {

                    var temp = arrStr[i].split("=");

                    if (temp[0] == objName)

                        return unescape(temp[1]);

                }

            }

           

            function delCookie(name){//为了删除指定名称的cookie,可以将其过期时间设定为一个过去的时间

                var date = new Date();

                date.setTime(date.getTime() - 10000);

                document.cookie = name + "=a; expires=" + date.toGMTString();

            }

           

            function allCookie(){//读取所有保存的cookie字符串

                var str = document.cookie;

                if (str == "") {

                    str = "没有保存任何cookie";

                }

                alert(str);

            }

           

            function $(m, n){

                return document.forms[m].elements[n].value;

            }

           

            function add_(){

                var cookie_name = $("myform", "cookie_name");

                var cookie_value = $("myform", "cookie_value");

                var cookie_expireHours = $("myform", "cookie_expiresHours");

                addCookie(cookie_name, cookie_value, cookie_expireHours);

            }

           

            function get_(){

                var cookie_name = $("myform", "cookie_name");

                var cookie_value = getCookie(cookie_name);

                alert(cookie_value);

            }

           

            function del_(){

                var cookie_name = $("myform", "cookie_name");

                delCookie(cookie_name);

                alert("删除成功");

            }

        </script>

    </head>

    <body>

        <form name="myform">

            <div>

                <label for="cookie_name">

                    名称

                </label>

                <input type="text" name="cookie_name" />

            </div>

            <div>

                <label for="cookie_value">

               

                </lable>

                <input type="text" name="cookie_value" />

            </div>

            <div>

                <label for="cookie_expireHours">

                多少个小时过期

                </lable>

                <input type="text" name="cookie_expiresHours" />

            </div>

            <div>

                <input type="button" value="添加该cookie" οnclick="add_()"/><input type="button" value="读取所有cookie" οnclick="allCookie()"/><input type="button" value="读取该名称cookie" οnclick="get_()"/><input type="button" value="删除该名称cookie" οnclick="del_()"/>

            </div>

        </form>

</body>

</html>    

 

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30545764/viewspace-2120993/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30545764/viewspace-2120993/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值