2017-01-13 1 views
-3

Ich habe eine Seite mit vielen Preisen in diesem Standard-US-Format angegeben: 4,99, $ 600.00 $ usw.

Da sie alle ein '$' und a '' Ich versuche, die Dollar-Zahlen zwischen diesen 2 Zeichen zu greifen und nur den Dollar-Betrag in einer Spanne zu wickeln.

Beispiel: $ 4.99 wird $<span>4</span>.99

Dank !!!

+2

Bitte lesen Sie [fragen]. Schlüsselbegriffe: "Suchen und forschen" und "Erkläre ... alle Schwierigkeiten, die dich daran gehindert haben, es selbst zu lösen". –

Antwort

1

REGEXP:

(\b\d+)(?=\.) 

ORIGINALTEXT:

$4444.99 

ERGEBNIS:

const regex = /(\b\d+)(?=\.)/gm; 
 
const str = `\$4444.99`; 
 
const subst = `<span>\$1</span>`; 
 

 
// The substituted value will be contained in the result variable 
 
const result = str.replace(regex, subst); 
 

 
console.log(result);

Siehe:https://regex101.com/r/pA0XdW/1

+0

das ist genial! genau das was ich gesucht habe. Vielen Dank!!! – germ

+0

Sie sind willkommen. * Denken Sie daran, mich als die Antwort auf Ihre Frage zu markieren. wenn ich dir helfe. * –

0

Sie eine Spannweite mit einer Klasse verwenden könnte den Dollar-Betrag, aber nicht den vollen Preis zu wickeln.

$<span class="dollar-value">4</span>.99

Dann können Sie Jquery verwenden, um die Dollar-Wert mit dem Dollar-Wert-Klasse (.dollar-Wert)

0

Diese Lösung funktioniert für alle Interessierten zu bekommen.

$('.price').html(function(i, html) { 
    html = $.trim(html); 
    return html.slice(0, 1) + "<span>" + html.slice(1,-3) + "</span>" + html.slice(-3); 
}); 

Es ist nicht genau das, was ich verlangte, aber tut den Trick. Es schneidet einfach die ersten ($) und die letzten 3 (.00) Zeichen und fügt den Text zwischen ihnen in einer Spanne ein.

Verwandte Themen