【问题标题】:Javascript - Change all numbers in a string to subscriptsJavascript - 将字符串中的所有数字更改为下标
【发布时间】:2013-06-23 01:31:39
【问题描述】:

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

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

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

现在,这是我的问题:

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

【问题讨论】:

    标签: javascript html innerhtml subscript


    【解决方案1】:

    使用下面给出的简单正则表达式替换

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

    演示:Fiddle

    【讨论】:

    • 啊,是的,确实有效。使用正则表达式完全让我忘记了!谢谢!
    【解决方案2】:

    您可以使用正则表达式将userIn 中的所有数字与&lt;sub&gt;&lt;/sub&gt; 标记括起来。以下应该有效:

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

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

    【讨论】:

      猜你喜欢
      • 2013-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 1970-01-01
      相关资源
      最近更新 更多