是否可以抓取连接到字符串的 NUMBER?(Javascript)

Is it possible to grab the NUMBER that was concatenated to a string? (Javascript)

本文关键字:NUMBER Javascript 字符串 抓取 连接 是否      更新时间:2023-09-26

我正在使用cookie,我将它们设置为这样:

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

然后我把它们全部放在一个名为 cookie 数组的数组中:

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

如果我打印出数组,我会得到类似的东西:cookievalue1= 23 或 cookievalue2= 42。

但是有什么方法可以只获取字符串后面的值(仅限 23 或 42)而不是字符串和数字?

尝试删除"cookievalue="部分,但这会使我无法存储cookie。我正在使用表单,我只想输入数字,以便我可以使用它们并在另一页上添加/减去它们。现在,我不能添加或减少任何东西。

你可以做:

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

它会以字符串的形式返回 cookie 值。如果你确定它们都是数字,你可以这样做:

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

这会将 cookie 值作为数字返回。

这个函数应该可以工作

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

你可以再次拆分它

var allcookies = "cookievalue1=23;cookeivalue2=22";
cookiearray.forEach(function(value) { 
    pair = value.split('='); 
    console.log(pair[1])
});