Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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 在replace方法中是否可以传递变量而不是常量_Javascript - Fatal编程技术网

Javascript 在replace方法中是否可以传递变量而不是常量

Javascript 在replace方法中是否可以传递变量而不是常量,javascript,Javascript,在下面的代码中,每3位数字后加逗号 { var commaString = valueWthOutComma.replace(/\B(?=(\d{3})+(?!\d))/g, ","); } 是否可以传递任何变量来代替上面正则表达式中的“3”,我想要的是 { var comma_place = 2 ; //any value can be place var commaString = valueWthOutComma.replace(/\B(?=(\d{comma_place})

在下面的代码中,每3位数字后加逗号

{
  var commaString = valueWthOutComma.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
是否可以传递任何变量来代替上面正则表达式中的“3”,我想要的是

{
  var comma_place = 2 ; //any value can be place
  var commaString = valueWthOutComma.replace(/\B(?=(\d{comma_place})+(?!\d))/g, ",");
}

要执行所需操作,您需要将正则表达式构建为字符串而不是文本,并将其提供给
RegExp()
构造函数,如下所示:

var comma_place = 2; //any value can be place
var re = new RegExp('\B(?=(\d{' + comma_place + '})+(?!\d))', 'g');
// var re = new RegExp(`\B(?=(\d{${comma_place}})+(?!\d))`, 'g'); // ES6 - won't work in IE
var commaString = valueWthOutComma.replace(re, ",");