Lelly
Lelly

Reputation: 968

javascript - Get a portion of the cookie value with substr method

I have a cookie called "login" that contains a structure like "username|hashcode|salt".

Here's my code:

   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');

I'ts giving me

pickup22|d47f45d141bf4ecc999ec4c083e28cf7|4ece9bce292e1

Now I just want the first part (everything before the first pipe , in that case, I want pickup22)

How can I do that? Cause the username will never be the same, so I cant put a "fixed" lenght.

Any help appreciated!

Upvotes: 0

Views: 125

Answers (2)

austincheney
austincheney

Reputation: 281

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');

That is nice and compact, plus easy to read, and finally it is JSLint compliant. Enjoy!

Upvotes: 2

Emir Akaydın
Emir Akaydın

Reputation: 5823

best way is to use split() method.

var parts = new Array();

parts = broken_cookie2.split("|");

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

Upvotes: 1

Related Questions