如何使用javascript标记数字

如何使用javascript标记数字

问题描述:

我需要在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

您可以使用正则表达式来更改数字。

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>

+0

谢谢!有用!但是Nina Scholz速度更快,代码看起来更好,所以我将她的答案标记为最好。但是,这也适用,所以thx :) – SoptikHa