22 Stimmen

JavaScript: Was ist der beste Weg auf einen leeren String zu testen?

Frage von Chematik | 26.01.2012 um 16:29

Frage siehe oben. Ich möchte mal wissen, was der beste Weg ist, in JavaScript zu testen, ob ein String leer ist.

AntwortenPositivNegativDatumStimmen
04 Stimmen

Wenn du nur testen willst, ob eine Variable irgendeinen Wert enthält, kannst du es so machen:

if (str) {
   alert('OK');
}

Wenn du testen willst, ob es sich auch um eine Variable des Typen String handelt, kannst du so vorgehen:

if (str === '') {
   alert('OK');
}

Der Vergleichsoperator mit drei Gleichheitszeichen testet nämlich einerseits auf den gleichen Inhalt und andererseits auf den gleichen Typ (also in diesem Fall String) im Vergleich zu ==, was nur auf den Inhalt prüft, 
26.01.2012 um 21:20

AntwortenPositiv Negativ
35 Stimmen

Man kann sich auch die Länge des Strings ansehen, zum Beispiel so:

if (str.length == 0) {
   alert('String ist leer.');
}

Oder noch eleganter:

if (!str.length) {
   alert('String ist leer.');
}

Es gibt sicher viele Möglichkeiten...
28.01.2012 um 16:59

AntwortenPositiv Negativ
-13 Stimmen

Ich denke, die beste Lösung ist die folgende, damit wir auch erkennen können, wenn unser String null ist:

if (!!str) {
   alert('Leerer String!');
}

Nur das funktioniert bei mir für einen String, der undefined, null oder leer ist.
30.01.2012 um 16:07

AntwortenPositiv Negativ
37 Stimmen

Wenn wir auch Strings, die nur Whitespace wie Leerzeichen oder Zeilenumbrüche enthalten, als leer ansehen wollen, können wir es so machen:

if ((/^\s*$/).test(str)) {
   alert('Leerer String oder nur WhiteSpace');
}

Ist natürlich etwas perfomancelastiger als die anderen vorgeschlagenen Lösungen.
31.01.2012 um 21:41

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.