使用Javascript读取cookie

<pre name="code" class="html"><pre name="code" class="html">
<html>
    
<head>
    <title></title>
    <script type="text/javascript">
        function getCookie(c_name) {
            if (document.cookie.length > 0)//检查该名称的cookie是否存在
            {
                c_start = document.cookie.indexOf(c_name + "=")//document.cookie获取存储的所有cookie
                if (c_start != -1)
                {
                    c_start = c_start + c_name.length + 1//是用先前取得的位置加上cookie名的长度再加1,就是把位置确定在这个cookie名的“=”符号的后面。
                    c_end = document.cookie.indexOf(";", c_start)//从上一步的位置开始查找的,直到";"的位置。
                    if (c_end == -1)
                        c_end = document.cookie.length
                    return unescape(document.cookie.substring(c_start, c_end))//就是取该cookie名的等号后面到分号前面的字符串,即对应的cookie的值
                }
            }
            return ""
        }


        function setCookie(c_name, value, expiredays)//expiredays表示是保存cookie的时间
        {
            var exdate = new Date()
            exdate.setDate(exdate.getDate() + expiredays)//设置cookie保存到哪一天
            document.cookie = c_name + "=" + escape(value) +((expiredays == null) ? "" : "; expires=" + exdate.toGMTString())// cookie 的名称、值以及过期天数
        }


        function checkCookie() {
            username = getCookie('username')//读取名为username的cookie的值
            if (username != null && username != "")
            {
                alert('Welcome again ' + username + '!')
            }
            else
            {
                username = prompt('Please enter your name:', "") // 带有输入框的一个弹出框
                if (username != null && username != "")
                {
                    setCookie('username', username, 365) //如果没有找到有cookie则新添加一个cookie,cookie名为username,并且将username变量的值赋给cookie['username']
                }
            }
        }


        //当cookie中同时存在这样两个字段“kuin=12345”和"uin=67890"时
        function YHgetCookie(c_name) {
            if (document.cookie.length > 0) {
                var tmp_cookie = document.cookie,
                tmp_c1 = (tmp_cookie.indexOf(" " + c_name + "=") > 0) ? (tmp_cookie.indexOf(" " + c_name + "=") + 1) : 0,
                tmp_c2 = (tmp_cookie.indexOf(";" + c_name + "=") > 0) ? (tmp_cookie.indexOf(";" + c_name + "=") + 1) : 0,
                tmp_c3 = (tmp_cookie.indexOf(c_name + "=") == 0) ? 0 : -1,
                c_start = tmp_c1 || tmp_c2 || tmp_c3;
                if (c_start != -1) {
                    c_start = c_start + c_name.length + 1;
                    var c_end = tmp_cookie.indexOf(";", c_start);
                    if (c_end == -1) c_end = tmp_cookie.length;
                    return (tmp_cookie.substring(c_start, c_end));
                }
            }
            return "";
        }
    </script>
</head>
<body οnlοad="checkCookie()">
</body>
</html>


 

                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值