2015-05-23 13 views
5

Mam ciąg znaków zawierający liczby i znaki. Chcę zastąpić liczby inną wartością, która da mu klasę css o numerze someClass.Zastępowanie liczb w łańcuchu za pomocą wyrażeń regularnych w javascript

Teraz mam kod do wykrycia wszystkich liczb w łańcuchu i zastąpić go czymś innym.

Moje pytanie brzmi: w jaki sposób uzyskać aktualną liczbę pasującą i umieścić ją w nowym ciągu lub wartości, która zastąpi oryginalną?

Zasadniczo co chcę się zdarzyć:

na przykład mam ten ciąg: 1dog3cat, chcę, aby zastąpić <span class="someClass">1</span>dog<span class="someClass">3</span>cat

Oto mój bieżący kod:

var string_variable; 
    string_variable = "1FOO5,200BAR"; 
    string_variable = string_variable.replace(/(?:\d*\.)?\d+/g, "<span class='someClass'>" + string_variable + "</span>"); 
    alert(string_variable); 

Odpowiedz

6

Po prostu zapamiętaj dopasowany wzorzec za pomocą nawiasu i pobierz tę wartość za pomocą znacznika $1 i dodaj do niego znacznik .

Użyj tego regex

string_variable = string_variable.replace(/(\d+)/g, "<span class='someClass'>$1</span>"); 

Zobacz DEMO

+1

stosować tę odpowiedź. dzięki @Ankit, zamierzam przyjąć tę odpowiedź. :) –

Powiązane problemy