3

我有一个输入框,用户可以在其中输入化学式。我在表格中将他们的输入显示给他们,并在我的 javascript 文件中使用以下代码。

document.getElementById("entered").innerHTML = userIn;

...其中“userIn”是输入框的“id”,“entered”是我的表格行中数据的 id。

现在,这是我的问题:

有什么办法可以将公式中的所有数字更改为下标,但保持字母不变?那么如果输入 H2O2,只有 2 成为下标?

4

2 回答 2

7

使用简单的正则表达式替换,如下所示

document.getElementById("entered").innerHTML = userIn.replace(/(\d+)/g, '<sub>$1</sub>');

演示:小提琴

于 2013-06-26T03:40:01.770 回答
2

您可以使用正则表达式userIn<sub></sub>标签包围所有数字。以下应该有效:

userIn.replace(/(\d+)/g, "<sub>$1</sub>");

+则表达式中的 将一串连续数字组合在一起,并且g正则表达式中的尾部表示替换所有数字字符串,而不是仅替换userIn.

于 2013-06-26T03:45:40.853 回答