3

ユーザーが化学式を入力する入力ボックスがあります。私は、javascript ファイルに次のコードを記述して、彼らの入力をテーブルに表示しています。

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

...ここで、「userIn」は入力ボックスの「id」であり、「entered」はテーブル行のデータの id です。

さて、ここに私の質問があります:

数式内のすべての数字を下付き文字に変更し、文字を変更しない方法はありますか? H2O2 と入力すると、2 だけが下付き文字になりますか?

4

2 に答える 2

7

以下に示すように、単純な正規表現の置換を使用します

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

デモ:フィドル

于 2013-06-26T03:40:01.770 に答える
2

userIn正規表現を使用して、すべての数字を<sub></sub>タグで囲むことができます。以下が機能するはずです。

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

正規表現の+は、連続する数字の文字列をグループ化し、正規g表現の末尾は、 の最初の数字の文字列を単に置き換えるのではなく、すべての数字の文字列を置き換えることを示していますuserIn

于 2013-06-26T03:45:40.853 に答える