JavaScript正则表达式-上标所有数字

时间:2019-03-17 13:52:27

标签: javascript regex dom-manipulation superscript

我有一个形式为字符串的字符串。

let numbersvalue = "g-1 K4"

我想将其插入ID为“数字”的html节点中。但是,我希望字符串中的数字被超级脚本化/发挥字母的作用。

1 个答案:

答案 0 :(得分:-1)

要使数字成为上标,必须将它们包装在上标标签<sup></sup>中。可以使用REGEX整齐地完成。

document.getElementById("numbers").innerHTML += numbersvalue.replace(/[0-9,-]+/g, "<sup>$&</sup>")

首先,我们得到字符串,并使用正则表达式找到所有数字([0-9])加上任何负号([,]),然后将其与逗号结合起来。我们将其放在/+/g之间,因此JavaScript知道它是正则表达式。我们用下标标记替换它。但是,使用$&会在标签之间添加匹配的数字。

> let x = "g-1 K4"
> x.replace(/[0-9,-]+/g, "<sup>$&</sup>")
> "g<sup>-1</sup> K<sup>4</sup>"

最后,我们将其附加到document.getElementById("numbers").innerHTML +=的html节点中。使用innerHTML可以确保将标签视为“标签”,而不是纯文本。