2013-06-26 121 views
1

我有一個用戶輸入化學公式的輸入框。我在表中將他們的輸入顯示回給他們,在我的JavaScript文件中使用以下代碼。Javascript - 將字符串中的所有數字更改爲下標

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

...其中「烏塞林」是輸入框的「ID」和「進」是我的錶行數據的ID。

現在,這裏是我的問題:

有沒有什麼辦法可以改變所有的數字的公式標中,但在離開的字母不變?所以如果輸入H2O2,只有2個成爲下標?

回答

5

使用一個簡單的regex替換下面

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

演示給出:Fiddle

+0

啊,是的,工作。使用正則表達式只是完全滑過我的腦海!謝謝! – Rygh2014

2

您可以使用正則表達式與<sub></sub>標籤包圍userIn所有的數字。下面應該工作:

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

正則表達式將組中的+的連續數字串在一起,並在正則表達式的拖尾g說,更換的數字的所有字符串,而不是僅僅在更換數字的第一串userIn

相關問題