在JavaScript中用数组模式替换字符串globaly

时间:2015-12-20 13:27:43

标签: javascript arrays regex loops

我正在尝试使用常规表达式从数组全局替换多个字符,但它只是替换了我的第一个字符:

var ARABIC_PUNC_AND_REPLACEMENTS = [
    [
      ',', // Comma
      ';', // Semicolon
    ],
    [
      '،', // Comma
      '؛', // Semicolon
    ]
  ];

var string = ',,, ;;;';

for (var i = 0; i < ARABIC_PUNC_AND_REPLACEMENTS[0].length; i++) {
   string = string.replace(ARABIC_PUNC_AND_REPLACEMENTS[0][i], ARABIC_PUNC_AND_REPLACEMENTS[1][i]);
}

console.log(string); // "،,, ؛;;"
// I want this to be returnd: "،،، ؛؛؛"

1 个答案:

答案 0 :(得分:1)

你需要构建一个$(document).ready(function(){ var inputs = $("input[name^='trend'], input[name^='q']"); inputs.change(function(){ selected = [0, 0]; var self = $(this); qnumber = $(this).attr('name').slice(-1); inputs.each(function(index, element){ if ($(element).attr('name').slice(-1) == qnumber && $(element).prop('checked')) { selected[qnumber-1] += 1; if (selected[qnumber-1] > 1) { $(this).closest('fieldset').siblings(".next[class$='after"+qnumber+"']").show(); } console.log(qnumber, selected[qnumber-1]); } }); }); }); 并传递RegExp这样的标志:

global