2011-11-24 16 views
0

"username | hashcode | salt"のような構造を含む "login"というクッキーがあります。ここでjavascript - substrメソッドを使用してクッキー値の一部を取得

は私のコードです:| d47f45d141bf4ecc999ec4c083e28cf7 |私

pickup22を与えるI'ts

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

4ece9bce292e1

今、私はちょうどその場合の最初の部分(最初のパイプの前にすべてのものを、欲しいです、私はpickup22)

私はそれを行うことができますか?私は "固定"長さを入れないので、ユーザー名は決して同じではないでしょう。

+0

'broken_cookie2.split(" | ")[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'); 

。楽しい!

+0

ありがとうございます!それは完璧に働いた! – Lelly

1

最も良い方法はsplit()メソッドを使用することです。素晴らしく、コンパクト、プラス読みやすい、そして最終的にそれがJSLint準拠して

var parts = new Array(); 

parts = broken_cookie2.split("|"); 

var username = parts[0]; 
var hashcode = parts[1]; 
var salt = parts[2]; 
関連する問題