Javascript 多次替换字符
这是一把小提琴Javascript 多次替换字符,javascript,jquery,Javascript,Jquery,这是一把小提琴 现在我只能更新一次。我想有可能更新它不止一次。第一次它将替换点(.),第二次它必须替换我给出的第一个值。您可以使用变量来保存要更改的变量正则表达式。 例如: var regExVal= /\./g; $('#inputButton').click(function() { var value = $('#input').val(); var re = regExVal; regExVal= new RegExp(value, "g"); <
现在我只能更新一次。我想有可能更新它不止一次。第一次它将替换点(.),第二次它必须替换我给出的第一个值。您可以使用变量来保存要更改的变量正则表达式。 例如:
var regExVal= /\./g;
$('#inputButton').click(function() {
var value = $('#input').val();
var re = regExVal;
regExVal= new RegExp(value, "g"); <-- this is how you set the new value
var output = $('#output');
var text = output.text().replace(re, value);
output.html(text);
});
然后,在使用值之前,执行以下操作:
value = escapeRegExp(value);
你到底想达到什么目的?问题还不完全清楚。你希望用户能够将文本放在占位符中(我猜),但你采取了一种完全错误的方法。提供更多的上下文。我把我要做的事情形象化了看着你贴的照片。。。这不适用于星号*。。。或者^和美元。在使用我看到的replace
功能之前,需要从输入值中转义这些字符。我该怎么做呢?@squarestripe查看编辑后的答案。它展示了如何确保您可以使用任何想要的字符。
function escapeRegExp(str) {
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}
value = escapeRegExp(value);