我有一個用戶輸入化學公式的輸入框。我在表中將他們的輸入顯示回給他們,在我的JavaScript文件中使用以下代碼。Javascript - 將字符串中的所有數字更改爲下標
document.getElementById("entered").innerHTML = userIn;
...其中「烏塞林」是輸入框的「ID」和「進」是我的錶行數據的ID。
現在,這裏是我的問題:
有沒有什麼辦法可以改變所有的數字的公式標中,但在離開的字母不變?所以如果輸入H2O2,只有2個成爲下標?
我有一個用戶輸入化學公式的輸入框。我在表中將他們的輸入顯示回給他們,在我的JavaScript文件中使用以下代碼。Javascript - 將字符串中的所有數字更改爲下標
document.getElementById("entered").innerHTML = userIn;
...其中「烏塞林」是輸入框的「ID」和「進」是我的錶行數據的ID。
現在,這裏是我的問題:
有沒有什麼辦法可以改變所有的數字的公式標中,但在離開的字母不變?所以如果輸入H2O2,只有2個成爲下標?
使用一個簡單的regex替換下面
document.getElementById("entered").innerHTML = userIn.replace(/(\d+)/g, '<sub>$1</sub>');
演示給出:Fiddle
您可以使用正則表達式與<sub></sub>
標籤包圍userIn
所有的數字。下面應該工作:
userIn.replace(/(\d+)/g, "<sub>$1</sub>");
正則表達式將組中的+
的連續數字串在一起,並在正則表達式的拖尾g
說,更換的數字的所有字符串,而不是僅僅在更換數字的第一串userIn
。
啊,是的,工作。使用正則表達式只是完全滑過我的腦海!謝謝! – Rygh2014