isnullorwhitespace - C#String.IsNullOrEmpty JavaScript equivalente
string empty javascript (9)
Dado que la respuesta que está marcada como correcta contiene un pequeño error, este es mi mejor intento para encontrar una solución. Tengo dos opciones, una que toma una cadena, la otra toma una cadena o un número, ya que supongo que mucha gente está mezclando cadenas y números en javascript.
Pasos: -Si el objeto es nulo, es una cadena nula o vacía. -Si el tipo no es cadena (o número) su valor de cadena es nulo o está vacío. NOTA: también podemos lanzar una excepción aquí, dependiendo de las preferencias. -Si el valor de cadena recortado tiene una longitud que es menor que 1, es nulo o está vacío.
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;
}
Quiero intentar hacer una llamada de cadena equivalente a C # String.IsNullOrEmpty(string)
en javascript. Busqué en línea asumiendo que había una simple llamada que hacer, pero no pude encontrar ninguna.
Por ahora estoy usando una sentencia if(string === "" || string === null)
para cubrirla, pero prefiero usar un método predefinido (sigo recibiendo algunas instancias que pasan desapercibidas por alguna razón)
¿Cuál es la llamada javascript (o jquery si tiene uno) más cercana que sea igual?
Estás pensando demasiado. La cadena vacía y la cadena vacía son ambos valores de falsey en JavaScript.
if(!theString) {
alert("the string is null or empty");
}
Falsey:
- falso
- nulo
- indefinido
- La cadena vacía ''''
- El número 0
- El número NaN
Para que quede claro, if(!theString){//...}
donde theString es una variable no declarada lanzará un error indefinido, no lo encontrará verdadero. Por otro lado, si tiene: if(!window.theString){//...}
o var theString; if(!theString){//...}
var theString; if(!theString){//...}
funcionará como se espera. En el caso en que una variable no se declare (en lugar de ser una propiedad o simplemente no se establece), debe usar: if(typeof theString === ''undefined''){//...}
Mi preferencia es crear una función de prototipo que lo envuelva por usted.
Puede crear un método de utilidad que se puede reutilizar en muchos lugares, como:
function isNullOrEmpty(str){
var returnValue = false;
if ( !str
|| str == null
|| str === ''null''
|| str === ''''
|| str === ''{}''
|| str === ''undefined''
|| str.length === 0 ) {
returnValue = true;
}
return returnValue;
}
Si sabes que la string
no es numérica, funcionará:
if (!string) {
.
.
.
Si, por alguna razón, quisiera probar solo null
y empty
, podría hacer:
function isNullOrEmpty( s )
{
return ( s == null || s === "" );
}
Nota: Esto también aparecerá indefinido como @Raynos mencionado en los comentarios.
puedes decirlo por lógica
Supongamos que tiene un nombre de variable a strVal, para verificar si es nulo o está vacío
if (typeof (strVal) == ''string'' && strVal.length > 0)
{
// is has a value and it is not null :)
}
else
{
//it is null or empty :(
}
solo puedes hacer
if(!string)
{
//...
}
Esto comprobará la string
busca de string
indefinidas, nulas y vacías.
if (!string) {
// is emtpy
}
¿Cuál es la mejor manera de probar una cadena vacía con jquery-out-of-the-box?