2016-10-01 5 views
2

Ich muss Zahlen auf der HTML-Seite markieren. Ich weiß, wie man Zahlen markiert, aber wie kann ich Dezimal Zahlen erkennen? Ich muss jede Nummer in Reichweite markieren. Wie folgt: [Bereich 1-3]So markieren Sie Zahlen mit Javascript

This is number 1, this is number 1.8 and this is 8.2. It should also mark number 3.

Wie kann ich es mit Javascript (ohne jQuery) markieren?

Danke, Peter

+2

passend Was, wenn Ihr Text ist wie 'foo 1.2.3.4 .5 bar'? – georg

Antwort

2

Sie können einen regulären Ausdruck verwenden, um die Zahlen zu ändern.

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

Sie konnten die Zeichenfolge aufgeteilt und Zahlen finden Sie Ihre Kriterien in einer Schleife

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

Danke! Es klappt! Aber Nina Scholz war schneller und ihr Code sieht besser aus, also habe ich ihre Antwort als die beste markiert. Aber das funktioniert auch, also thx :) – SoptikHa

Verwandte Themen