Javascript - 将字符串中的所有数字更改为下标
Posted
技术标签:
【中文标题】Javascript - 将字符串中的所有数字更改为下标【英文标题】:Javascript - Change all numbers in a string to subscripts 【发布时间】:2013-06-23 01:31:39 【问题描述】:我有一个输入框,用户可以在其中输入化学式。我在表格中将他们的输入显示给他们,在我的 javascript 文件中包含以下代码。
document.getElementById("entered").innerhtml = userIn;
...其中“userIn”是输入框的“id”,“entered”是我的表格行中数据的id。
现在,这是我的问题:
有什么方法可以将公式中的所有数字更改为下标,但保持字母不变?那么如果输入H2O2,只有2成为下标?
【问题讨论】:
【参考方案1】:使用下面给出的简单正则表达式替换
document.getElementById("entered").innerHTML = userIn.replace(/(\d+)/g, '<sub>$1</sub>');
演示:Fiddle
【讨论】:
啊,是的,确实有效。使用正则表达式完全让我忘记了!谢谢!【参考方案2】:您可以使用正则表达式将userIn
中的所有数字与<sub></sub>
标记括起来。以下应该有效:
userIn.replace(/(\d+)/g, "<sub>$1</sub>");
正则表达式中的+
会将一串连续数字组合在一起,而正则表达式中的尾部g
表示替换所有数字字符串,而不是仅替换userIn
中的第一个数字字符串。
【讨论】:
以上是关于Javascript - 将字符串中的所有数字更改为下标的主要内容,如果未能解决你的问题,请参考以下文章
如何从 JavaScript 中的字符串中获取所有数字? [复制]
[JavaScript] - replaceAll,将字符串中的字母或数字等全部替换掉的方式