我有一个名为“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)
我该怎么做?因为用户名永远不会是相同的,所以我不能放一个“固定”的长度。
任何帮助表示赞赏!
答案 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];