Je veux essayer de faire un appel de chaîne équivalent au C # String.IsNullOrEmpty(string)
en javascript. J'ai regardé en ligne en supposant qu'il y avait un simple appel à faire, mais je n'ai pas pu en trouver.
Pour l'instant, j'utilise une if(string === "" || string === null)
déclaration pour le couvrir, mais je préfère utiliser une méthode prédéfinie (je continue à avoir des instances qui glissent pour une raison quelconque)
Quel est l'appel javascript (ou jquery le plus proche si vous en avez un) qui serait égal?
javascript
jquery
Coupe Stanley Phil
la source
la source
Réponses:
Vous réfléchissez trop. Les chaînes nulles et vides sont toutes deux des valeurs fausses en JavaScript.
if(!theString) { alert("the string is null or empty"); }
Falsey:
la source
Si, pour une raison quelconque, vous vouliez tester uniquement
null
et queempty
vous pouviez faire:function isNullOrEmpty( s ) { return ( s == null || s === "" ); }
Remarque: Cela attrapera également undefined comme @Raynos mentionné dans les commentaires.
la source
return (s == null || s === "")
s == null
attrape les deuxnull
etundefined
depuisnull == undefined
if (!string) { // is emtpy }
Quelle est la meilleure façon de tester une chaîne vide avec jquery-out-of-the-box?
la source
Si vous savez que ce
string
n'est pas numérique, cela fonctionnera:if (!string) { . . .
la source
string
n'est en fait pas une chaîne mais le nombre zéro, alorsstring
elle sera fausse. Ce ne sera pas un problème si nous savons qu'ilstring
s'agit d'une chaîne réelle ou d'une valeur nulle.tu peux juste faire
if(!string) { //... }
Cela vérifiera
string
les chaînes non définies, nulles et vides.la source
Pour être clair,
if(!theString){//...}
là où theString est une variable non déclarée, une erreur non définie sera générée, mais elle ne la trouve pas vraie. D'autre part si vous avez:if(!window.theString){//...}
ouvar theString; if(!theString){//...}
cela fonctionnera comme prévu. Dans le cas où une variable ne peut pas être déclarée (par opposition à être une propriété ou simplement non définie), vous devez utiliser:if(typeof theString === 'undefined'){//...}
Ma préférence est de créer une fonction prototype qui l'enveloppe pour vous.
la source
Étant donné que la réponse marquée comme correcte contient une petite erreur, voici mon meilleur essai pour trouver une solution. J'ai deux options, l'une qui prend une chaîne, l'autre prend une chaîne ou un nombre, car je suppose que beaucoup de gens mélangent des chaînes et des nombres en javascript.
Étapes: -Si l'objet est nul, il s'agit d'une chaîne nulle ou vide. -Si le type n'est pas une chaîne (ou un nombre), la valeur de la chaîne est nulle ou vide. REMARQUE: nous pouvons également lancer une exception ici, en fonction des préférences. -Si la valeur de la chaîne tronquée a une longueur inférieure à 1, elle est nulle ou vide.
var stringIsNullOrEmpty = function(theString) { return theString == null || typeof theString != "string" || theString.trim().length < 1; } var stringableIsNullOrEmpty = function(theString) { if(theString == null) return true; var type = typeof theString; if(type != "string" && type != "number") return true; return theString.toString().trim().length < 1; }
la source
tu peux le dire par logique
Supposons que vous ayez un nom de variable un strVal, pour vérifier si est nul ou vide
if (typeof (strVal) == 'string' && strVal.length > 0) { // is has a value and it is not null :) } else { //it is null or empty :( }
la source
Vous pouvez créer une méthode utilitaire qui peut être réutilisée dans de nombreux endroits tels que:
function isNullOrEmpty(str){ var returnValue = false; if ( !str || str == null || str === 'null' || str === '' || str === '{}' || str === 'undefined' || str.length === 0 ) { returnValue = true; } return returnValue; }
la source