2016-04-19 10 views
1

ich Cookies bin mit und ich sie wie diese Einstellung:Ist es möglich, die NUMBER zu erhalten, die mit einer Zeichenfolge verkettet wurde? (Javascript)

document.cookie ="cookievalue1="+cookievalue1; 
document.cookie ="cookievalue2="+cookievalue2; 
document.cookie ="cookievalue3="+cookievalue3; 

Dann habe ich sie alle in einem Array namens Cookie-Array:

var allcookies = document.cookie; 
cookiearray = allcookies.split(';'); 

Wenn ich das Array aus , Bekomme ich etwas wie: cookievalue1 = 23 oder cookievalue2 = 42.

Aber gibt es eine Möglichkeit, ich könnte nur den Wert nach der Zeichenfolge (nur 23 oder 42) anstatt die Zeichenfolge und die Nummer?

Ich habe versucht, den "Cookievalue =" Teil zu löschen, aber das macht es so, dass ich keine Cookies speichern kann. Ich benutze Formulare und ich möchte nur die Zahlen eingegeben, damit ich sie verwenden und sie auf einer anderen Seite hinzufügen/subtrahieren kann. Im Moment kann ich nichts hinzufügen oder subtrahieren.

Antwort

2

Sie könnten tun:

allcookies.split(';').map(c => c.split('=')[1]); 

Es würden Sie den Cookie-Wert als String zurückgeben. Wenn Sie sicher sind, sind sie alle Zahlen, die Sie tun können:

allcookies.split(';').map(c => +c.split('=')[1]); 

Damit haben Sie wieder die Cookie-Werte als Zahlen.

+0

Dank! Das hat wirklich funktioniert! – Edwin

1

sollte diese Funktion

function getCookie(cname) { 
    var name = cname + "="; 
    var ca = document.cookie.split(';'); 
    for(var i = 0; i <ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') { 
      c = c.substring(1); 
     } 
     if (c.indexOf(name) == 0) { 
      return c.substring(name.length,c.length); 
     } 
    } 
    return ""; 
} 

var cookievalue3 = getCookie("cookievalue3"); 
1

arbeiten Sie es

wieder aufspalten
var allcookies = "cookievalue1=23;cookeivalue2=22"; 

cookiearray.forEach(function(value) { 
    pair = value.split('='); 
    console.log(pair[1]) 
}); 
Verwandte Themen