Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript替换"&引用;加上“,”&引用;_Javascript - Fatal编程技术网

Javascript替换"&引用;加上“,”&引用;

Javascript替换"&引用;加上“,”&引用;,javascript,Javascript,我试图用逗号和空格替换所有逗号 这就是我尝试过的: all_boxes_values = all_boxes_values.replace(",", ", "); // and... all_boxes_values = all_boxes_values.replace(/,\\/g, ', *'); 我首先尝试了上面的一个,但意识到它只替换了逗号的一个实例,所以我尝试了下面的一个(来自上一个S.O问题),但无法让它工作。字符串可能首先不包含任何逗号 有什么想法吗 已更新 这就是函数。我已

我试图用逗号和空格替换所有逗号

这就是我尝试过的:

all_boxes_values = all_boxes_values.replace(",", ", ");

// and...

all_boxes_values = all_boxes_values.replace(/,\\/g, ', *');
我首先尝试了上面的一个,但意识到它只替换了逗号的一个实例,所以我尝试了下面的一个(来自上一个S.O问题),但无法让它工作。字符串可能首先不包含任何逗号

有什么想法吗

已更新

这就是函数。我已经添加了下面的答案之一,但仍然不起作用。我现在得到一个控制台错误:TypeError:Object a Gill没有“replace”方法

$('.name_boxes').live('click', function() {
    var all_boxes = $('.name_boxes');
    var all_boxes_values = []
    for (var i = 0; i < all_boxes.length; i++) {
        if (all_boxes[i].checked) {
            all_boxes_values.push(all_boxes[i].value)
        }
    }
all_boxes_values = all_boxes_values.replace(/,/g,", ");
alert(all_boxes_values);
});
$('.name_box').live('click',function(){
var all_box=$('.name_box');
var all_BOX_values=[]
对于(变量i=0;i
看起来您想要这个:

all_boxes_values = all_boxes_values.replace(/, */g, ', ');

正则表达式中不应该有最后两个反斜杠,也没有理由使用
*
。下面的工作

all_boxes_values = all_boxes_values.replace(/,/g,", ");

克里斯蒂安·安东森的回答是对你最初问题的最好回答。虽然根据你的代码,如果你把它改成这样,它会工作的。您正试图在阵列上运行replace,通过移动执行replace的位置和位置,它将修复您收到的错误。
$('.name_box').live('click',function(){
var all_box=$('.name_box');
var all_BOX_values=[]
对于(变量i=0;i

+1你比我强,这个答案对我来说是最容易理解的,也是我思考过程中得出的答案。没有必要在正则表达式中避开逗号;这不是元字符。(也就是说,我不会对那样的事情投反对票;引用逗号也无妨。)@Pointy我删除了它。谢谢。@Kristianantosen:我刚才试着用你的答案,但似乎不起作用。我并不是说你的答案无效,但我的函数不会接受:)我只是用我的函数更新了我的问题,如果
所有的\u框\u值
都是字符串,但它是数组。问题中出现的问题最初似乎与字符串有关。您需要对
for
循环中的每个字符串(
all_box[i]
)执行替换。@James想象您在一座雪山的山顶上,手里拿着一块滑雪板。你开始下山。最终你会到达谷底——但感觉不太对劲,不是吗?
all_boxes_values = all_boxes_values.replace(/,/g,", ");
$('.name_boxes').live('click', function() { var all_boxes = $('.name_boxes'); var all_boxes_values = [] for (var i = 0; i < all_boxes.length; i++) { if (all_boxes[i].checked) { all_boxes_values.push(all_boxes[i].value.replace(/,/g,", ")); } } });