JavaScript的cookie基础与应用

cookie基础

什么是cookie
页面用来保存信息
比如:自动登录、记住用户名
cookie的特性
同一个网站中所有页面共享一套cookie
数量、大小有限
过期时间
JS中使用cookie
document.cookie

使用cookie——1

cookie的使用
设置cookie
格式:名字=值
不会覆盖
过期时间:erpires = 时间
日期对象的使用

var oDate = new Date();

    oDate.setDate(oDate.getDate() + 14);

    document.cookie = 'user = blue; expires = '+ oDate;
    alert(document.cookie);

封装函数

    function setCookie(name, value, iDay){
        var oDate = new Date();
        oDate.setDate(oDate.getDate() + iDay);
        document.cookie = name +' ='+ value +'; expires = '+ oDate;
    }

    setCookie('userName','blue',365);
    setCookie('password','123456',14);

读取cookie

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style type="text/css">

</style>
<script type="text/javascript">
    function setCookie(name, value, iDay){
        var oDate = new Date();
        oDate.setDate(oDate.getDate() + iDay);
        document.cookie = name +' ='+ value +'; expires = '+ oDate;
    }

    function getCookie(name){
        var arr = document.cookie.split('; ');

        for (var i = 0; i < arr.length; i++){
            var arr2 = arr[i].split('=');

            if (arr2[0] == name) {
                return arr2[1];
            }
        }
        return '';
    }

    alert(getCookie('userName'));
</script>
</head>
<body>

</body>
</html>

字符串分割
删除cookie
已经过期

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style type="text/css">

</style>
<script type="text/javascript">
    function setCookie(name, value, iDay){
        var oDate = new Date();
        oDate.setDate(oDate.getDate() + iDay);
        document.cookie = name +' ='+ value +'; expires = '+ oDate;
    }

    function getCookie(name){
        var arr = document.cookie.split('; ');

        for (var i = 0; i < arr.length; i++){
            var arr2 = arr[i].split('=');

            if (arr2[0] == name) {
                return arr2[1];
            }
        }
        return '';
    }

    function removeCookie(name){
        setCookie(name, 1, -1);
    }

    removeCookie('userName');
    alert(document.cookie);
</script>
</head>
<body>

</body>
</html>

使用cookie——2

cookie的使用
例子
用cookie记录上次登录的用户名
提交时——记录用户名
window.onload——读取用户名

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<script type="text/javascript">
    function setCookie(name, value, iDay){
        var oDate = new Date();
        oDate.setDate(oDate.getDate() + iDay);
        document.cookie = name +' ='+ value +'; expires = '+ oDate;
    }

    function getCookie(name){
        var arr = document.cookie.split('; ');

        for (var i = 0; i < arr.length; i++){
            var arr2 = arr[i].split('=');

            if (arr2[0] == name) {
                return arr2[1];
            }
        }
        return '';
    }

    function removeCookie(name){
        setCookie(name, 1, -1);
    }
    window.onload = function (){
        var oForm = document.getElementById('form1');
        var oUser = document.getElementsByName('user')[0];

        oForm.onsubmit = function(){
            setCookie('user',oUser.value,14);
        }

        oUser.value = getCookie('user');
    }
</script>
</head>
<body>
    <form id="form1" action="http://www.baidu.com/">
        用户名:<input type="text" name = "user" /><br>
        密码:<input type="password" name = 'pass' /><br>
        <input type="submit" value="登录" />
    </form>
</body>
</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值