Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 jquery替换/g全局_Javascript_Jquery - Fatal编程技术网

Javascript jquery替换/g全局

Javascript jquery替换/g全局,javascript,jquery,Javascript,Jquery,我正在尝试将字符串中对关键字或数字的所有引用替换为其他引用,我可以使用以下方法来完成此操作,但需要/g以确保它更改所有引用。然而,我想让它成为动态的,把第一个数字改成一个变量,然后把这个变量放在正斜杠之间,但它不起作用 工作 不起作用 var customstring = "5026555042451"; var res = str.replace(/+customstring+/g, "34234324"); 你应该创建一个新的 基本上,它是一个包含两个参数的对象:规则和标志 最后,它看起来

我正在尝试将字符串中对关键字或数字的所有引用替换为其他引用,我可以使用以下方法来完成此操作,但需要/g以确保它更改所有引用。然而,我想让它成为动态的,把第一个数字改成一个变量,然后把这个变量放在正斜杠之间,但它不起作用

工作

不起作用

var customstring = "5026555042451";
var res = str.replace(/+customstring+/g, "34234324");
你应该创建一个新的

基本上,它是一个包含两个参数的对象:规则和标志

最后,它看起来是这样的:

var customstring = "5026555042451";
var res = str.replace(new RegExp(customstring, 'g'), "34234324");
这也是在正则表达式中连接字符串的方式。有关详细信息,请参阅

然后把变量放在正斜杠中间,但它不起作用

这是因为
/whatever/
不是字符串而是正则表达式文本,其中没有斜杠。斜杠只是分隔符(就像字符串中的撇号和引号:
var s='whatever'
),但正则表达式本身就在这些分隔符中。这就是为什么不能向斜杠添加任何内容:它们不在这里。您只需在正则表达式中添加加号,它有自己的含义(您可以使用加号捕捉出现一次或多次的字符或组,例如,./a+/匹配
aa
中的
poaalpopop


PS.@Karl AndréGagnon您的答案中有一个输入错误:new RegExp,而不是new RegExp;)

谢谢您的输入错误。我很幸运看到了您的答案;)
var customstring = "5026555042451";
var res = str.replace(new RegExp(customstring, 'g'), "34234324");
var res = str.replace(/+customstring+/g, "34234324");