2016-10-01 23 views
2

我需要在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)標記它?

謝謝,彼得

+2

如果你的文字就像是'FOO 1.2.3.4 .5酒吧? – georg

回答

2

您可以使用正則表達式來更改數字。

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>

1

你可以分割字符串,找到號碼符合您的條件在循環

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>

+0

謝謝!有用!但是Nina Scholz速度更快,代碼看起來更好,所以我將她的答案標記爲最好。但是,這也適用,所以thx :) – SoptikHa