js操作cookie记录用户名

使用cookie记录用户名,在网上找了些,但是测试的时候发现不够严谨,自己又加了写东西。如下:

var Cookies = {};
/* 设置Cookies  */
Cookies.set = function(name, value)
{
    if ((typeof (name) != "undefined") && (name != null) && (name != ""))
    {
        var argv = arguments;
        var argc = arguments.length;
        var expires = (argc > 2) ? argv[2] : null;
        var path = (argc > 3) ? argv[3] : '/';
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;
        document.cookie = name + "=" + escape(value) +
               ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
               ((path == null) ? "" : ("; path=" + path)) +
               ((domain == null) ? "" : ("; domain=" + domain)) +
               ((secure == true) ? "; secure" : "");
    }
};
/* 读取Cookies  */
Cookies.get = function(name)
{
    var arrCookie = document.cookie.split(";");

    for (var i = 0; i < arrCookie.length; i++)
    {
        var eachCookie = arrCookie[i].split("=");
        //表达式/^\s*|\s*$/ 表示前导空格和后导空格
        if (name == eachCookie[0].replace(/^\s*|\s*$/, ""))
        {
            return unescape(eachCookie[1]);
        }
    }

    //没有找到相应的cookie时
    return null;
};
/*清除Cookies*/
Cookies.clear = function(name)
{
    if (Cookies.get(name))
    {
        var expdate = new Date();
        expdate.setTime(expdate.getTime() - (1 * 24 * 60 * 60 * 1000));
        Cookies.set(name, "", expdate);
    }
};

页面上:

//页面加载时,读取是否显示用户名,如果显示,则显示出用户名,否则,不显示用户名
     $(document).ready(
            function()
            {
                var userName = Cookies.get("UserName");
                var result = ""; //需要写入用户名文本框的值
                if ((typeof (userName) != "undefined") && (userName != null) && (userName != ""))
                {
                    result = userName;
                    $("#ViewName").attr("checked", true);
                }
                else
                {
                    $("#ViewName").attr("checked", false);
                }

                //将数据写入用户名文本框
                $("#UserName").val(result);
            }
        );

     //选择按钮,设置是否显示用户名。
     //如果要显示用户名,就将用户名保存到cookie里,否则,删除cookie里的用户名
     function SetViewName()
     {       
         //判断是否要显示用户名
         var viewName = $("#ViewName").attr("checked");
         var userName = $("#UserName").val();

         if ((typeof (viewName) != "undefined") && (viewName != null) && viewName
                && (typeof (userName) != "undefined") && (userName != null) && (userName != "")
            )
         {
             //显示用户名,将用户名存入cookie
             var expdate = new Date();
             //过期时间是1年
             expdate.setTime(expdate.getTime() + 365 * 24 * 60 * 60 * 1000);
             Cookies.set("UserName", userName, expdate);
         }
         else
         {
             //不显示 清楚cookie里的用户名数据
             Cookies.clear("UserName");
         }
     }

提示:判断null 用 ==或!=  ,判断

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值