我有一个方程式/公式存储在数据库中,我希望它根据网页中的按键输入事件触发。
示例公式:[55-57]
这是一个简单的减法运算,其中的数字实际上代表数据库中一行的id
我看过这个solution它将字符串中找到的数字替换为新值。但我需要将新值
替换为递增的字母,例如a
、b
等。另外,需要删除前导和结束括号 []
,以便我稍后可以使用 JavaScript 执行 eval
。
稍后方程将转换为a-b
。变量 a
和 b
表示保存值的其他 HTML 元素。因此,每当我在文本字段中输入某些内容时,更改就会反射(reflect)在网页的其他部分。就像自动计算一样。
感谢那些提供帮助的人。希望这个问题能对某人有所帮助。
最佳答案
尝试这样的事情。如果您需要更多帮助,您确实需要重新措辞您的问题或发布 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] );
} );
基本上,这会将 55
和 57
替换为 #55
和 #57
的数值。它也适用于 #b
等。
然后eval
就是结果,基本上是在执行等式中的任何数学运算。
关于javascript - 正则表达式使用 javascript 将除数字以外的任何内容替换为增量字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24226304/