Preciso verificar se uma variável é nula ou tem todos os espaços vazios ou está apenas em branco ("").
Tenho o seguinte, mas não está funcionando:
var addr;
addr = " ";
if (!addr) {
// pull error
}
Se eu fizer o seguinte, funcionará:
if (addr) {
}
O que eu preciso é algo como o método C # String.IsNullOrWhiteSpace(value)
.
javascript
jquery
Nate Pet
fonte
fonte
has *any* empty spaces
? Ou você quer dizeris all empty spaces
?Respostas:
Uma solução não jQuery que imita mais de perto
IsNullOrWhiteSpace
, mas para detectar nulos, vazios ou apenas espaços:...então:
* EDITAR * Observe que op afirma especificamente:
Portanto, embora sim, "espaço em branco" abrange mais do que nulo, espaços ou em branco, minha resposta pretende responder à pergunta específica de op. Isso é importante porque op pode NÃO querer pegar coisas como tabs, por exemplo.
fonte
/^\s*$/
para pegá-los também.test
também é mais rápido, se bem me lembro.Uma
null
comparação também pegaráundefined
. Se quiserfalse
passar também, use!addr
. Para troca de compatibilidade com versões anteriores do navegadoraddr.trim()
para$.trim(addr)
.fonte
addr
for zero.Você pode usar
if(addr && (addr = $.trim(addr)))
Isso tem a vantagem de realmente remover qualquer espaço em branco externo em
addr
vez de simplesmente ignorá-lo ao realizar a verificação.Referência: http://api.jquery.com/jQuery.trim/
fonte
addr
for inicializada com, por exemplo, um inteiro.fonte
Você pode criar seu próprio método equivalente a
String.IsNullOrWhiteSpace(value)
fonte
\s
corresponde a mais do que apenas espaçosPergunta antiga, mas acho que merece uma resposta mais simples.
Você pode simplesmente fazer:
fonte
addr && addr.trim()
? Com um único&
não funcionou para mim, mas funciona com&&
.Ao verificar o espaço em branco, o método c # usa o padrão Unicode. O espaço em branco inclui espaços, tabulações, retornos de carro e muitos outros códigos de caracteres não imprimíveis. Portanto, é melhor usar:
fonte
Versão simplificada do acima: (aqui: https://stackoverflow.com/a/32800728/47226 )
fonte
Experimente isto
Você pode usar assim
fonte
fonte
fonte
Você pode tentar isto:
fonte