255 votes

Quelle est la meilleure façon de tester une chaîne vide avec jquery-out-of-the-box?

Quelle est la meilleure façon de tester une chaîne vide avec jquery-out-of-the-box, c'est-à-dire sans plugins? J'ai essayé ceci: http://zipalong.com/blog/?p=287

Mais ça ne marchait pas au moins prêt à l'emploi. Ce serait bien d'utiliser quelque chose qui est intégré.

Je ne voudrais pas répéter

 if (a == null || a=='')
 

partout si certains if (isempty(a)) seraient disponibles.

604voto

David Points 36241
 if (!a) {
  // is emtpy
}
 

Pour ignorer les espaces blancs:

 if (!a.trim()) {
    // is empty or whitespace
}
 

Si vous avez besoin du support hérité (IE8-) pour trim() , utilisez $.trim ou un polyfill .

30voto

SpoonMeiser Points 6211

Le lien que vous avez donné semble tenter quelque chose de différent du test que vous essayez d’éviter de répéter.

 if (a == null || a=='')
 

teste si la chaîne est une chaîne vide ou null. L'article que vous avez lié aux tests si la chaîne est entièrement composée d'espaces (ou est vide).

Le test que vous avez décrit peut être remplacé par:

 if (!a)
 

Parce que dans javascript, une chaîne vide, et null, les deux évaluent à false dans un contexte booléen.

5voto

Greg Points 3104
 if(!my_string){ 
// stuff 
}
 

et

 if(my_string !== "")
 

si vous voulez accepter null mais rejeter vide

EDIT: woops, oublié votre condition est si il est vide

2voto

harrylove Points 1025

Essayez de l'exécuter dans la console de votre navigateur ou dans un fichier node.js.

 var string = ' ';
string ? true : false;
//-> true

string = '';
string ? true : false;
//-> false
 

Par conséquent, une simple construction de branchement suffira pour le test.

 if(string) {
    // string is not empty
}
 

2voto

Stevus Points 313

Comme vous pouvez également saisir des nombres ainsi que des chaînes de caractères fixes, la réponse devrait être:

 function isBlank(value) {
  return $.trim(value);
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X