正则表达式使用javascript替换除了带有增量字母的数字之外的任何内容

时间:2014-06-15 03:31:53

标签: javascript regex

我有一个存储在数据库中的等式/公式,我希望它能够根据网页中的按键输入事件进行触发。

示例公式:[55-57]

这是一个简单的减号操作,其中数字实际上代表数据库中行的id

我查看了这个solution,它将字符串中的数字替换为new value。但我需要将new value替换为递增字母,例如ab等。此外,需要删除前导括号[],以便稍后使用JavaScript执行eval

稍后,等式将转换为a-b。变量ab表示包含值的其他HTML元素。因此,每当我将某些内容键入文本字段时,更改将反映在网页的其他部分。它就像自动计算一样。

感谢您的帮助。希望这个问题会对某人有所帮助。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情。如果您需要更多帮助,您真的需要重新提出问题或发布jsfiddle或其他内容。

var eqn = '55-57'; // brackets removed.  Remove them with a regex of /\[|\]/g if you need to

var result = eval( eqn.replace( /\w+/g, function( res ){
    return +document.getElementById( res[1] );
} );

基本上,这会将5557替换为#55#57的数值。它也适用于#b等。

然后eval得到了结果,基本上做了你方程式中的任何数学运算。