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 una.
Por ahora, estoy usando una if(string === "" || string === null)
declaración para cubrirlo, pero prefiero usar un método predefinido (sigo recibiendo algunas instancias que se escapan por alguna razón)
¿Cuál es la llamada de javascript (o jquery más cercana si luego tiene una) que sería igual?
javascript
jquery
Copa Stanley Phil
fuente
fuente
Respuestas:
Estás pensando demasiado. Las cadenas nulas y vacías son valores falsos en JavaScript.
if(!theString) { alert("the string is null or empty"); }
Falsey:
fuente
Si, por el motivo que sea, solo desea probar
null
yempty
, puede hacer:function isNullOrEmpty( s ) { return ( s == null || s === "" ); }
Nota: Esto también se verá indefinido como @Raynos mencionado en los comentarios.
fuente
return (s == null || s === "")
s == null
atrapa ambosnull
yundefined
desdenull == undefined
if (!string) { // is emtpy }
¿Cuál es la mejor manera de probar una cadena vacía con jquery-out-of-the-box?
fuente
Si sabe que
string
no es numérico, esto funcionará:if (!string) { . . .
fuente
string
de hecho no es una cadena sino el Número cero, entoncesstring
será falsa. No será un problema si sabemos questring
es una cadena real o nula.solo puedes hacer
if(!string) { //... }
Esto buscará
string
cadenas vacías, nulas o indefinidas.fuente
Para ser claros,
if(!theString){//...}
donde theString es una variable no declarada arrojará un error indefinido, no lo encontrará verdadero. Por otro lado, si tiene:if(!window.theString){//...}
ovar theString; if(!theString){//...}
funcionará como se esperaba. En el caso de que una variable no se declare (en lugar de ser una propiedad o simplemente no se establezca), debe usar:if(typeof theString === 'undefined'){//...}
Mi preferencia es crear una función de prototipo que lo resuelva para usted.
fuente
Dado que la respuesta 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 muchas personas están 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 vacío. NOTA: también podríamos lanzar una excepción aquí, dependiendo de las preferencias. -Si el valor de la cadena recortada tiene una longitud menor a 1, es nulo o 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; }
fuente
puedes decirlo por lógica
Digamos que tiene un nombre de variable a strVal, para verificar si es nulo o vacío
if (typeof (strVal) == 'string' && strVal.length > 0) { // is has a value and it is not null :) } else { //it is null or empty :( }
fuente
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; }
fuente