Ich muss überprüfen, ob eine Variable null ist oder alle Leerzeichen enthält oder nur leer ist ("").
Ich habe folgendes, aber es funktioniert nicht:
var addr;
addr = " ";
if (!addr) {
// pull error
}
Wenn ich Folgendes mache, funktioniert es:
if (addr) {
}
Was ich brauche, ist so etwas wie die C # -Methode String.IsNullOrWhiteSpace(value)
.
javascript
jquery
Nate Pet
quelle
quelle
has *any* empty spaces
? Oder meinst duis all empty spaces
?Antworten:
Eine Nicht-jQuery-Lösung, die genauer nachahmt
IsNullOrWhiteSpace
, aber nur Null-, Leer- oder Leerzeichen erkennt:...dann:
* EDIT * Bitte beachten Sie, dass in op ausdrücklich Folgendes angegeben ist:
Während ja, "Leerzeichen" mehr als Null, Leerzeichen oder Leerzeichen umfasst, soll meine Antwort die spezifische Frage von op beantworten. Dies ist wichtig, da op möglicherweise NICHT beispielsweise Tabs abfangen möchte.
quelle
/^\s*$/
.test
ist auch schneller, wie ich mich erinnere.Ein
null
Vergleich wird auch fangenundefined
. Wenn Sie auch bestehen möchtenfalse
, verwenden Sie!addr
. Für die Abwärtsbrowserkompatibilität tauschen Sieaddr.trim()
gegen$.trim(addr)
.quelle
addr
Null ist.Sie können verwenden
if(addr && (addr = $.trim(addr)))
Dies hat den Vorteil, dass äußere Leerzeichen tatsächlich entfernt werden,
addr
anstatt sie bei der Überprüfung einfach zu ignorieren.Referenz: http://api.jquery.com/jQuery.trim/
quelle
addr
beispielsweise mit einer Ganzzahl initialisiert ist.quelle
Sie können Ihre eigene Methode erstellen
String.IsNullOrWhiteSpace(value)
quelle
\s
passt mehr als nur LeerzeichenAlte Frage, aber ich denke, sie verdient eine einfachere Antwort.
Sie können einfach tun:
quelle
addr && addr.trim()
? Mit einer Single hat&
es bei mir nicht funktioniert, aber mit&&
.Bei der Suche nach Leerzeichen verwendet die c # -Methode den Unicode-Standard. Leerzeichen umfassen Leerzeichen, Tabulatoren, Wagenrückläufe und viele andere nicht druckbare Zeichencodes. Sie können also besser Folgendes verwenden:
quelle
Vereinfachte Version des oben genannten: (von hier: https://stackoverflow.com/a/32800728/47226 )
quelle
Probieren Sie es aus
Sie können es so verwenden
quelle
quelle
quelle
Sie können dies versuchen:
quelle