我需要在HTML頁面上標記數字。我知道如何標記數字,但我怎樣才能識別十進制數字?我需要標記範圍內的每個數字。像這樣:[範圍1-3]如何使用javascript標記數字
This is number 1, this is number 1.8 and this is 8.2. It should also mark number 3.
如何使用javascript(無jQuery)標記它?
謝謝,彼得
我需要在HTML頁面上標記數字。我知道如何標記數字,但我怎樣才能識別十進制數字?我需要標記範圍內的每個數字。像這樣:[範圍1-3]如何使用javascript標記數字
This is number 1, this is number 1.8 and this is 8.2. It should also mark number 3.
如何使用javascript(無jQuery)標記它?
謝謝,彼得
您可以使用正則表達式來更改數字。
var node = document.getElementById('text');
node.innerHTML = node.innerHTML.replace(/(\d+(\.\d+)?)+/g, function (s) {
return s >= 1 && s <= 3 ? '<strong>' + s + '</strong>' : s;
});
<div id="text">This is number 1, this is number 1.8 and this is 8.2. It should also mark number 3.</div>
你可以分割字符串,找到號碼符合您的條件在循環
var div = document.getElementById("div");
div.innerHTML = div.innerHTML.split(/\s/)
.map(v => {
if (!isNaN(parseFloat(v)) && parseFloat(v) <= 3) {
var res = parseFloat(v);
var rest = new RegExp(res, "g");
return "<strong>" + res + "</strong>" + v.replace(rest, "");
}
return v;
}).join(" ");
<div id="div">
This is number 1, this is number 1.8 and this is 8.2. It should also mark number 3.
</div>
謝謝!有用!但是Nina Scholz速度更快,代碼看起來更好,所以我將她的答案標記爲最好。但是,這也適用,所以thx :) – SoptikHa
如果你的文字就像是'FOO 1.2.3.4 .5酒吧? – georg