¿Cuál es la mejor manera de probar una cadena vacía con jquery listo para usar?
¿Cuál es la mejor manera de probar una cadena vacía con jquery listo para usar, es decir, sin complementos? Probé esto .
Pero no funcionó al menos desde el primer momento. Sería bueno usar algo que esté integrado.
no quisiera repetir
if (a == null || a=='')
if (isempty(a))
en todas partes si hubiera alguno disponible.
if (!a) {
// is emtpy
}
Para ignorar los espacios en blanco de las cadenas:
if (!a.trim()) {
// is empty or whitespace
}
Si necesita soporte heredado (IE8-) para trim()
, utilice $.trim
o un polyfill .
El enlace que proporcionó parece intentar algo diferente a la prueba que intenta evitar repetir.
if (a == null || a=='')
prueba si la cadena es una cadena vacía o nula. El artículo al que vinculó prueba si la cadena consta completamente de espacios en blanco (o está vacía).
La prueba que describió puede reemplazarse por:
if (!a)
Porque en javascript, una cadena vacía y nula se evalúan como falsas en un contexto booleano.
Según la respuesta de David, personalmente me gusta comprobar primero si el objeto dado es una cadena. De lo contrario, llamar .trim()
a un objeto que no existe generaría una excepción:
function isEmpty(value) {
return typeof value == 'string' && !value.trim() || typeof value == 'undefined' || value === null;
}
Uso:
isEmpty(undefined); // true
isEmpty(null); // true
isEmpty(''); // true
isEmpty('foo'); // false
isEmpty(1); // false
isEmpty(0); // false
Compruebe si los datos son una cadena vacía (e ignore cualquier espacio en blanco) con jQuery:
function isBlank( data ) {
return ( $.trim(data).length == 0 );
}