Javascript / jQuery:将匹配{x}的字符串中的项替换为“jQuery('#resultsx')。val()”

时间:2014-02-17 20:01:10

标签: javascript jquery regex

我有一个包含公式的字符串,例如

{1}+{2}-{3}*{4}

我想将其转换为不同输入字段的值,例如

<input id="results1" value="15">
<input id="results2" value="25">
<input id="results3" value="35">
<input id="results4" value="45">

所以它会像

一样
15+25-35*45

然后计算到-1535

希望我已经解释了我想要做的事情,但如果我没有,请告诉我。我已经尝试过使用正则表达式但是我不能完全理解它并且我不确定这是否是我应该去的方向。

1 个答案:

答案 0 :(得分:2)

.replace()可以将函数作为第二个参数。这将有助于此:

var equ = '{1}+{2}-{3}*{4}';
equ = equ.replace(/{(\d+)}/g, function(match, $1){
    return $('#results'+$1).val();
});