J'ai besoin de vérifier si une variable est nulle ou a tous les espaces vides ou est juste vide ("").
J'ai ce qui suit, mais cela ne fonctionne pas:
var addr;
addr = " ";
if (!addr) {
// pull error
}
Si je fais ce qui suit, cela fonctionne:
if (addr) {
}
Ce dont j'ai besoin, c'est quelque chose comme la méthode C # String.IsNullOrWhiteSpace(value)
.
javascript
jquery
Nate Pet
la source
la source
has *any* empty spaces
? Ou voulez-vous direis all empty spaces
?Réponses:
Une solution non-jQuery qui imite plus étroitement
IsNullOrWhiteSpace
, mais pour détecter uniquement les espaces nuls, vides ou tous les espaces:...puis:
* EDIT * Veuillez noter que l'opération indique spécifiquement:
Donc, bien que oui, "espace blanc" englobe plus que nul, espaces ou blanc ma réponse est destinée à répondre à la question spécifique de op. Ceci est important car op peut ne PAS vouloir attraper des choses comme les onglets, par exemple.
la source
/^\s*$/
pour les attraper également.test
est également plus rapide que je me souvienne.Une
null
comparaison attrapera égalementundefined
. Si vous voulezfalse
réussir aussi, utilisez!addr
. Pour la compatibilité descendante du navigateur, remplacezaddr.trim()
par$.trim(addr)
.la source
addr
est zéro.==
et le second correspondent-ils===
?Vous pouvez utiliser
if(addr && (addr = $.trim(addr)))
Cela a l'avantage de supprimer en fait tout espace blanc externe au
addr
lieu de simplement l'ignorer lors de la vérification.Référence: http://api.jquery.com/jQuery.trim/
la source
addr
est initialisée par exemple avec un entier.la source
Vous pouvez créer votre propre méthode Equivalent à
String.IsNullOrWhiteSpace(value)
la source
\s
correspond à plus que des espacesAncienne question, mais je pense qu'elle mérite une réponse plus simple.
Vous pouvez simplement faire:
la source
addr && addr.trim()
? Avec un single,&
ça n'a pas marché pour moi mais ça marche avec&&
.Lors de la vérification des espaces blancs, la méthode c # utilise la norme Unicode. L'espace blanc comprend des espaces, des tabulations, des retours chariot et de nombreux autres codes de caractères non imprimables. Il vaut donc mieux utiliser:
la source
Version simplifiée de ce qui précède: (à partir d'ici: https://stackoverflow.com/a/32800728/47226 )
la source
Essayez ceci
Vous pouvez l'utiliser comme ça
la source
la source
la source
Vous pouvez essayer ceci:
la source