Frage Wie sucht man in JavaScript nach einer leeren Zeichenfolge?


Ich habe es gesehen Faden, aber ich habe kein JavaScript-spezifisches Beispiel gesehen. Gibt es ein einfaches? string.Empty verfügbar in JavaScript, oder ist es nur ein Fall von zu prüfen ""?


2141
2017-09-30 17:17


Ursprung


Antworten:


Wenn Sie nur überprüfen möchten, ob ein Wert vorhanden ist, können Sie dies tun

if (strValue) {
    //do something
}

Wenn Sie speziell nach einer leeren Zeichenkette über Null suchen müssen, würde ich denken, gegen zu prüfen "" ist deine beste Wette, mit das === Operator (damit Sie wissen, dass es sich tatsächlich um eine Zeichenfolge handelt, mit der Sie vergleichen).

if (strValue === "") {
    //...
}

2740
2017-09-30 17:20



Um zu überprüfen, ob eine Zeichenfolge leer, null oder nicht definiert ist, verwende ich:

function isEmpty(str) {
    return (!str || 0 === str.length);
}

Um zu überprüfen, ob eine Zeichenfolge leer, null oder nicht definiert ist, verwende ich:

function isBlank(str) {
    return (!str || /^\s*$/.test(str));
}

Um zu überprüfen, ob eine Zeichenfolge leer ist oder nur Leerzeichen enthält:

String.prototype.isEmpty = function() {
    return (this.length === 0 || !this.trim());
};

902
2017-07-16 01:45



Alle oben genannten sind gut, aber das wird noch besser. benutzen !!(nicht nicht) Operator.

if(!!str){
some code here;
}

oder verwenden Sie Typ Casting:

if(Boolean(str)){
    codes here;
}

Beide haben die gleiche Funktion, geben Sie die Variable auf boolean, wo str ist eine Variable.
Kehrt zurück false zum null,undefined,0,000,"",false.
Kehrt zurück true für Zeichenfolge "0" und Leerzeichen "".


225
2018-03-30 13:34



Wenn Sie sicherstellen müssen, dass die Zeichenfolge nicht nur aus einer Menge leerer Leerzeichen besteht (ich gehe davon aus, dass dies für die Formularvalidierung ist), müssen Sie die Leerzeichen ersetzen.

if(str.replace(/\s/g,"") == ""){
}

88
2017-09-30 23:08



Das nächste, was man zu str.Empty bekommen kann (mit der Voraussetzung, dass str ein String ist) ist:

if (!str.length) { ...

75
2017-09-30 19:17



Ich benutze :

function empty(e) {
  switch (e) {
    case "":
    case 0:
    case "0":
    case null:
    case false:
    case typeof this == "undefined":
      return true;
    default:
      return false;
  }
}

empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
    return ""
  })) // false

44
2017-07-09 18:52



var s; // undefined
var s = ""; // ""
s.length // 0

Es gibt nichts, was eine leere Zeichenfolge in JavaScript darstellt. Machen Sie einen Scheck gegen beides length (wenn Sie wissen, dass die Var immer eine Zeichenfolge ist) oder gegen ""


23
2017-09-30 17:42