这是一个小提琴http://jsfiddle.net/aLr2yx8d/
$('#inputButton').click(function() {
var value = $('#input').val();
var re = /\./g;
var output = $('#output');
var text = output.text().replace(re, value);
output.html(text);
});
现在我只能更新一次。我希望有可能不止一次更新它。第一次它将替换点(。),第二次它必须替换我给出的第一个值。
答案 0 :(得分:1)
您可以使用变量来保存您想要更改的变量RegularExpression。 例如:
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);
});
编辑:
正如我在评论中提到的,您需要转义某些字符以用作正则表达式中的字符而不是运算符。我找到了一个很好的答案in another question。将其包含在您的脚本中:
function escapeRegExp(str) {
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}
然后,在使用value
之前,您可以执行以下操作:
value = escapeRegExp(value);