javascript - 正则表达式使用 javascript 将除数字以外的任何内容替换为增量字母

标签 javascript regex

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

示例公式:[55-57]

这是一个简单的减法运算,其中的数字实际上代表数据库中一行的id

我看过这个solution它将字符串中找到的数字替换为新值。但我需要将新值替换为递增的字母,例如ab等。另外,需要删除前导和结束括号 [] ,以便我稍后可以使用 JavaScript 执行 eval

稍后方程将转换为a-b。变量 ab 表示保存值的其他 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] );
} );

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

然后eval就是结果,基本上是在执行等式中的任何数学运算。

关于javascript - 正则表达式使用 javascript 将除数字以外的任何内容替换为增量字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24226304/

相关文章:

javascript - 为什么 console.log() 显示 react_devtools_backend.js :4049 instead of the file and line number?

javascript - 使用复选框切换密码输入(由于安全风险而不起作用)

javascript - 在 Node :7 image; libgs. 中安装 ghostscript4js 所以找不到

javascript - enzyme 测试 React.createRef()

大写字母的 Java 正则表达式

regex - 期望中的正则表达式

javascript - 如何在在线服务器上存储鼠标坐标?

Java 的 Scanner vs String.split() vs StringTokenizer;我应该使用哪个?

python - 去除字符串中的逗号,用逗号和双引号包围/Python

regex - sed 替换完全匹配