44 Stimmen

Wie trim() Leerzeichen aus einer Zeichenfolge?

JavaScript scheint nicht über eine eigene trim() Methode. Wie kann ich mit JavaScript Leerzeichen am Anfang und Ende einer Zeichenkette abschneiden?

42voto

Darryl Hein Punkte 138311

Das kürzeste Formular für jQuery:

string = $.trim(string);

Link

32voto

Pat Punkte 35602

Laut diese Seite der beste Allround-Ansatz ist

return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');

Wenn Sie jQuery verwenden, steht Ihnen natürlich eine optimierte Trimmmethode zur Verfügung.

18voto

gizmo Punkte 11703

Nun, wie viele Leute immer sagen, funktioniert die Trim-Funktion ziemlich gut, aber wenn man nicht ein ganzes Framework verwenden will, nur um einen Trim auszuführen, kann es nützlich sein, einen Blick auf seine Implementierung zu werfen. Hier ist sie also:

function( text ) { return (text || "").replace( /^(\s|\u00A0)+|(\s|\u00A0)+$/g, "" );}

Die Hauptvorteile, die ich bei dieser Umsetzung im Vergleich zu anderen hier bereits vorgeschlagenen Lösungen sehe, sind:

  • Das Flag 'g', mit dem Sie eine mehrzeilige Zeichenkette beschneiden können
  • Die (text || "") Syntax, die sicherstellt, dass die Funktion immer funktioniert, auch wenn das übergebene Argument null oder undefiniert ist.

8voto

Richard Turner Punkte 11994

Wie einige andere bereits angemerkt haben, ist es in der Regel am besten, diese Art von Dingen mit Hilfe einer JS-Bibliothek eines Drittanbieters zu erledigen. Nicht, dass trim() ist eine komplizierte Funktion, um selbst zu bauen, aber es gibt so viele Funktionen, die nicht nativen JavaScript, die Sie benötigen und am Ende-up schriftlich selbst, wird es bald mehr kostengünstig, eine Bibliothek zu verwenden.

Ein weiterer Vorteil der Verwendung einer JS-Bibliothek ist natürlich, dass die Autoren dafür sorgen, dass die Funktionen in allen wichtigen Browsern funktionieren, so dass Sie für eine Standardschnittstelle programmieren können und die lästigen Unterschiede zwischen dem Internet Explorer und allen anderen Browsern vergessen.

7voto

harpo Punkte 39680

Eine etwas kleinere Version von @Pat's.

return str.replace( /^\s+|\s+$/g, '' );

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X