删除从localStorage导入的字符串中的引号

时间:2019-01-21 18:26:11

标签: javascript jquery html css

我正在创建一个前端页面,用户可以在其中按下按钮来创建文本区域,然后将信息保存在localStorage中。按下加载按钮时,将出现相同数量的文本区域,其内容来自localStorage。问题是,当我从localStorage检索信息时,该值包含“”,我想将其删除。

我尝试过replace(/“([[^”] +(?=“))” / g,'$ 1');

i = localStorage.getItem('AllNum');
// Allnum is the is where the generated textareas are placed
    function add() {
//i represents the number of textareas
        i++;
        $('#alltxt').append('<div class="textarea"><input></input><textarea id="txt' + i + '"></textarea></div>');
    }

    function save() {
        for (var a = 1; a <= document.getElementById("alltxt").childElementCount; a++) {
            localStorage.setItem("txt" + a, document.getElementById('txt' + a).value);
        }
        localStorage.setItem('AllNum', i);
    }

    function load() {
        if (document.getElementById("alltxt").childElementCount < localStorage.getItem('AllNum')) {
            for (var i = 1; i <= localStorage.getItem('AllNum'); i++) {
                $('#alltxt').append('<div class="textarea"><input></input><textarea id="txt' + i + '">"' + invert(i) + '"</textarea></div>');
            }
        }
    }

    function invert(i) {
        var a = localStorage.getItem('txt' + i);
        a = a.replace(/"([^"]+(?="))"/g, '$1');
        return a;
    }

https://codepen.io/abooo/pen/RvbOzV?editors=1010

要测试代码,请生成一些文本区域,然后在其中输入一些值,然后按+。之后,重新加载页面。最后单击加载按钮。您可以看到123变成了“ 123”

1 个答案:

答案 0 :(得分:1)

问题是您输入的文字周围有""

在加载函数中,将"' + invert(i) + '"更改为' + invert(i) + '(删除两个")。