Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Raffael Dornelles

[Resolvido] Verificar espaços com JavaScript

Recommended Posts

Boa tarde!

 

Eu precisava criar uma função que verificasse a quantidade de espaços entre um nome e outro dentro do campo.

 

Ex: Porto Alegre!

 

Começei a criar uma, mas acho que não está certa!

 

Alguem pode me ajudar!

 

function espaco_entre_valores()
{
var campo = document.getElementById("nomeCidade").value;
alert(campo);
var i=0;

for(i=0;i<campo.length;i++)
	{

	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

o caminho é esse mesmo amigo..

percorra agora letra por letra e veja se ela é um espaço ou não.

 

outra forma, seria usar uma ER, assim você conseguiria 'remover as outras letras', e só sobrariam os espaços para contar.

continue oque você fez, está indo bem.

 

basta agora 'percorrer letra por letrar', 'verificar se é um espaço', e 'contar os espaços'

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, não estou conseguindo contar o numero de espaços. Creio que o restante da função esteja certa!

 

Como eu faço para fazer a contagem??

 

Obrigado pela ajuda...

 

function espaco_entre_valores()
{
	var nada= " ";
       var campo = document.getElementById("nomeCidade");
       var i=0;

       for(i=0;i<campo.value.length;i++)
               {
				if(campo.value.charAt(i) == nada)
					{	
						campo.length
					}
               }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

quase..

 

if( letra[i]==" " )
{       
   qnt++;
}

sendo var qnt um contador, que você vai inicializar fora do loop.

 

e letra um array com todas as letras(só consegui lembrar do split para separar as letras agora).. :lol:

mas com o charAt() fica até melhor..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui...

 

segue a função pronta:

 

function espaco_entre_valores()
{
	var qnt = 0;
       var campo = document.getElementById("nomeCidade");
       var i=0;

       for(i=0;i<campo.value.length;i++)
               {

			if(campo.value[i] == " ")
			  {
				qnt ++;
				alert(qnt);
			  }
               }
}

 

Apenas fiquei com uma duvida!

 

eu usando "campo.value" é a mesma coisa que usar o "charAt()" ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

tecnicamente sim.. php e js decompõe a string como arrays.

$var = "Bruno";
echo $var[2];// u

Parabéns ! :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

da pra usar o .replace()... procura pelos 2 ou mais espaços, e coloca no lugar apenas 1.

 

rodar um trim(), também é interessante, para não deixar espaço depois e antes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, o quem tem de errado no replace??

 

 

function espaco_entre_valores()
{
               var qnt = 0;
       var campo = document.getElementById("nomeCidade");
       var i=0;

       for(i=0;i<campo.value.length;i++)
               {

                     if(campo.value[i] == " ")
                           {
                               qnt ++;
                                   if(qnt > 1)
				{
                               document.write(campo.value.replace(" "+ campo.value +" ","exemplo replace"));	
				}
                           }
                 }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou chamando a função nesse input...

 

<input type="text" name="nomeCidade" id="nomeCidade" class="campos" size="30" onblur="nome_cidade()" onclick="espaco_entre_valores()"/>

 

 

Fiz a leitura do site que você mandou, muito bom, salvei nos meus favoritos :D

 

Só usei o document.writer para visualizar o meu conteudo!

 

 

Mas vou continuar te encomodando, o meu replace funcionou, mas não é o que eu queria!

 

Ex: Porto Alegre

 

Deixando 3 espaço entre as strings, ele triplica o porto alegre "Porto Alegre Porto Alegre Porto Alegre".

 

Preciso que ele retire!

 

podes me ajudar???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.