我有一个输入框,用户可以在其中输入化学式。我在表格中将他们的输入显示给他们,并在我的 javascript 文件中使用以下代码。
document.getElementById("entered").innerHTML = userIn;
...其中“userIn”是输入框的“id”,“entered”是我的表格行中数据的 id。
现在,这是我的问题:
有什么办法可以将公式中的所有数字更改为下标,但保持字母不变?那么如果输入 H2O2,只有 2 成为下标?
我有一个输入框,用户可以在其中输入化学式。我在表格中将他们的输入显示给他们,并在我的 javascript 文件中使用以下代码。
document.getElementById("entered").innerHTML = userIn;
...其中“userIn”是输入框的“id”,“entered”是我的表格行中数据的 id。
现在,这是我的问题:
有什么办法可以将公式中的所有数字更改为下标,但保持字母不变?那么如果输入 H2O2,只有 2 成为下标?
使用简单的正则表达式替换,如下所示
document.getElementById("entered").innerHTML = userIn.replace(/(\d+)/g, '<sub>$1</sub>');
演示:小提琴
您可以使用正则表达式userIn
用<sub></sub>
标签包围所有数字。以下应该有效:
userIn.replace(/(\d+)/g, "<sub>$1</sub>");
正+
则表达式中的 将一串连续数字组合在一起,并且g
正则表达式中的尾部表示替换所有数字字符串,而不是仅替换userIn
.