2012-10-04 25 views

Antwort

28

Zitat von the doc:

eine globale Suche durchzuführen und ersetzen, entweder sind die g-Schalter in der reguläre Ausdruck oder wenn der erste Parameter ist eine Zeichenfolge , geben Sie g in den Flags-Parameter ein. Hinweis: Das flags-Argument funktioniert nicht in v8 Core (Chrome und Node.js) und wird aus Firefox entfernt.

So sollte es sein:

"11.111.11".replace(/\./g, ''); 

Diese Version (im Moment der edit) funktioniert in Firefox ...

"11.111.11".replace('.', '', 'g'); 

... aber wie bemerkt auf der MDN-Seite, wird seine Unterstützung bald fallen gelassen werden.

+8

Die „Flags“ Parameter in Ihrem ersten Beispiel ist nicht -Standard und funktioniert nicht in Chrome oder IE. – jvenema

+0

@jvenema Vielen Dank, aktualisiert die Antwort, die das erwähnt. Eigentlich habe ich nie Strings im '.replace' ersten Param verwendet, wenn globale Ersetzung nötig war, also war ich ein wenig überrascht, wenn man sieht, dass es immer noch möglich ist, auf Regex-Modifikatoren zu verzichten.) – raina77ow

+0

Danke, das funktioniert ... Dies ist der unbeabsichtigteste Code, den ich jemals in meiner ganzen Karriere gesehen habe: D – SeToY

7

Mit einem regulären Ausdruck und Flagge g Sie das erwartete Ergebnis bekam

"11.111.11".replace(/\./g, "") 

wichtig, einen regulären Ausdruck zu verwenden, da dies:

"11.111.11".replace('.', '', 'g'); // dont' use it!! 

is not standard

1

Zunächst einmal ersetzen () ist eine JavaScript-Funktion und keine jquery-Funktion.

Der obige Code ersetzt nur das erste Auftreten von "." (nicht jedes Auftreten). Um alle Vorkommen einer Zeichenfolge in JavaScript zu ersetzen, müssen Sie die ersetzen liefern() -Methode einen regulären Ausdruck mit einem globalen Modifikator als ersten Parameter, wie folgt aus:

"11.111.11".replace(/\./g,'') 
Verwandte Themen