JavaScript正则表达式 - 上标所有数字[重复]

问题描述 投票:-4回答:1

这个问题在这里已有答案:

我有一个表格中的字符串。

let numbersvalue = "g-1 K4"

我想将其插入到id为“numbers”的html节点中。但是我希望字符串中的数字是超级脚本/字母的力量。

javascript regex dom-manipulation superscript
1个回答
-1
投票

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

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

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

> 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确保标签被视为“标签”而不是纯文本。

© www.soinside.com 2019 - 2024. All rights reserved.