00 Stimmen

JavaScript: Internet Explorer 8 und die trim() Funktion

Frage von Gast | 19.05.2014 um 16:11

Um einen String vorne und hinten von seinem Whitespace (Leerzeichen etc) zu befreien, nutze ich gerne die Funktion trim(). Bisher hat das auch in allen Programmiersprachen und Browsern wunderbar funktioniert, jedoch nicht im Internet Explorer.

Konkret geht es um den IE8, der mir die Fehlermeldung "Object doesn't support this property or method" lieferte.

Normalerweise nutze ich nur Firefox und Chrome, daher ist mir der Fehler bislang nicht aufgefallen, ein Kunde hat mir davon berichtet.

Offensichtlich unterstützt der Internet Explorer die trim() Funktion nicht. Gibt es einen Workaround?

AntwortenPositivNegativDatumStimmen
0Beste Antwort0 Stimmen

In der Tat wird trim() erst seit dem IE9 von Microsoft unterstützt und da noch nicht einmal in allen Modi.

Ein Workaround ist es, die Funktion einfach selber zu definieren:

if (typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  };
}

Zur Erklärung: Diese Funktion prüft mit dem if, ob eine Funktion "trim" für den String-Typen definiert ist. Falls nicht, wird eine eigene Funktion "trim" durch einen regulären Ausdruck definiert. Dieser RegEx sorgt dafür, dass der Whitespace um den zurückgegebenen String entfernt wird.
20.05.2014 um 22:21

AntwortenPositiv Negativ
00 Stimmen

Falls man sowieso schon jQuery in seiner Seite eingebunden hat, kann man auch das trim() von jQuery benutzen:

var s = ' abc ';

s = $.trim(s);

alert(s);  // 'abc'

Wie im Beispiel zu sehen, kann man diese Funktion einfach über $.trim() aufrufen.
21.05.2014 um 13:26

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.