Ir para conteúdo
Fórum Script Brasil
  • 0

Remover Vogais JS


rafaelgiori

Pergunta

Bom galera, estou com uma duvida no seguinte problema :

" Aplicação que receba um texto qualquer e mostre este texto sem as vogais. "

Sou novo com essa linguagem e não sei o porque não funciona, gostaria que pudessem citar o meu erro.

Agradeço desde já.

<html lang="PT-BR">
	<head>
		<meta charset="UTF-8">
		<title> Remover vogais </title>
			<script>
				function remover()
				{
					str=(document.remove.string.value);
					tam=str.length;
					
					for(i=0;i<tam;i++)
					{
						if((str.charAt(i)=="a") || (str.charAt(i)=="e") || (str.charAt(i)=="i") || (str.charAt(i)=="o") || (str.charAt(i)=="u"))
						{
							str.charAt(i)="";
						}
					}
					
				document.remove.resultado.value=str;	
					
				}
			</script>
	</head>
	
	<body>
	
		<form name="remove">
			Insira uma string: <input type="text" name="string" value="" size="35"> <br><br>
			<input type="button" value="Remover vogais" onClick="remover()"> <br><br>
			String sem vogais: <input type="text" name="resultado" value="" size="35"> 
	</body>
</html>
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Rafaelgiori,

Já que você está começando em JS (parabéns pela decisão!), aqui vão algumas dicas:

1. Não acesse elementos de uma página usando nomedaform.nomedoinput. Use o id do elemento ;)

2. Não se esqueça de fechar suas tags. A form estava aberta, por exemplo xD

Respondendo a sua questão, o problema está na hora que você tentou apagar a vogal. Quando você escreve str.charAt(i), temos a seguinte situação:

str é um objeto da classe STRING.

charAt é um método desse objeto. Métodos são como funções, só que 'agarradas' a um objeto.

O charAt é um método que, como você percebeu, recebe como parâmetro um número e retorna o caracter desse OBJETO que está naquela posição.

Se str tem o conteúdo "rafael", str.charAt(3) vai retornar "a" (já que como você também deve saber, o índice começa no zero).

Depois de se certificar que aquela posição é uma vogal, você tentou "apagá-la", usando str.charAt(i) = ""... só que isso não funciona. charAt é um método. Não dá pra você 'substituí-lo" por "" (pelo menos não assim, e com certeza não é o que você está tentando fazer aqui).

Além disso, as strings no javascript são imutáveis. Você não consegue mudar o conteúdo de uma string (você pode fazer uma variável receber OUTRA string, mas não mudar pedaços da string). Uma solução, por exemplo então, é criar outra string =]

Eu alterei um pouquinho seu código. Dá uma olhada se você entendeu o que eu fiz ;)

http://jsfiddle.net/pTdh4/1/

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...