javascript - получить часть значения cookie с помощью метода substr. - PullRequest
0 голосов
/ 25 ноября 2011

У меня есть файл cookie с именем «login», который содержит такую ​​структуру, как «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

Теперь я просто хочу первую часть (в этом случае все до первой трубы, я хочу pickup22)

Как я могу это сделать? Потому что имя пользователя никогда не будет прежним, поэтому я не могу указать фиксированную длину.

Любая помощь приветствуется!

Ответы [ 2 ]

2 голосов
/ 25 ноября 2011
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. Наслаждайтесь! * * 1002

1 голос
/ 25 ноября 2011

Лучший способ - использовать метод split().

var parts = new Array();

parts = broken_cookie2.split("|");

var username = parts[0];
var hashcode = parts[1];
var salt = parts[2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...