javascript - 使用substr方法获取cookie值的一部分

时间:2011-11-24 20:35:48

标签: javascript cookies

我有一个名为“login”的cookie,其中包含“username | hashcode | salt”等结构。

这是我的代码:

   function readTheCookie(the_info)
   {
   var the_cookie = document.cookie;
   var the_cookie = unescape(the_cookie);

   var broken_cookie2 = the_cookie.substr(6); 

   alert(broken_cookie2);
   } 

   readTheCookie('login');

我给了我

pickup22 | d47f45d141bf4ecc999ec4c083e28cf7 | 4ece9bce292e1

现在我只想要第一部分(第一部分之前的一切,在这种情况下,我想要拾取22)

我该怎么做?因为用户名永远不会是相同的,所以我不能放一个“固定”的长度。

任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:2)

var readTheCookie = function (the_info) {
        var the_cookie = document.cookie.split(";"), a = the_cookie.length, b;
        for (b = 0; b < a; b += 1) {
            if (the_cookie[b].substr(0, the_info.length) === the_info) {
                return the_cookie.split("=")[1].split("|")[0];
            }
        }
        if (b === a) {
            return "";
        }
    },
    username = readTheCookie('login');

这很好,很紧凑,易于阅读,最后它符合JSLint。享受!

答案 1 :(得分:1)

最好的方法是使用split()方法。

var parts = new Array();

parts = broken_cookie2.split("|");

var username = parts[0];
var hashcode = parts[1];
var salt = parts[2];