Replace não percorre a string. [RESOLVIDO]

1. Replace não percorre a string. [RESOLVIDO]

Thiago Stevanni Seganini
segantini

(usa CentOS)

Enviado em 23/06/2021 - 14:41h

Boa tarde galera
Necessito percorrer uma string e substituir uma letra por outra, porém ao utilizar o replace() é alterado apenas a primeira letra, o algoritmo não altera o restante.
Por exemplo: substituir e por enter.
Original: teste
Substituido: tenterstenter


<!DOCTYPE html>
<html>
<head>
<style>
p {
fonte-size : 20px;
color : black;
}
</style>
</head>
<body>
<p>Atividade 01</p>
<p>Texto original</p>
<form id="formulario">
<input type="text" name="original" size="140" id="original"/>
<p></p>
<input type="submit" id=”bcrip” value="Criptografar">
<input type="submit" id="bdescrip" value="Descriptografar">
<p>Texto criptografado</p>
<input type="text" name="crip" size="140" id="crip"/>
</form>
<script>

var form = document.getElementById('formulario');


form.addEventListener('submit', function(a) {
var original = document.getElementById('original');
var crip = document.getElementById('crip');
alert(original.value);
var teste = original.value;
var contador = teste.length;
for(var i = 0;i<=contador;i++){
if (teste.substr(i,i) == ("e")){
teste = teste.replace("e","enter");

i = i +4;
contador = teste.length;

}};


alert(teste);


// impede o envio do form
a.preventDefault();
});






</script>
</body>
</html>



  


2. Re: Replace não percorre a string. [RESOLVIDO]

Ruan
ru4n

(usa Debian)

Enviado em 23/06/2021 - 15:24h

Para trocar todas as ocorrências, use o replaceAll:
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll



3. Re: Replace não percorre a string. [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 23/06/2021 - 22:22h


segantini escreveu:

Boa tarde galera
Necessito percorrer uma string e substituir uma letra por outra, porém ao utilizar o replace() é alterado apenas a primeira letra, o algoritmo não altera o restante.
Por exemplo: substituir e por enter.
Original: teste
Substituido: tenterstenter


<!DOCTYPE html>
<html>
<head>
<style>
p {
fonte-size : 20px;
color : black;
}
</style>
</head>
<body>
<p>Atividade 01</p>
<p>Texto original</p>
<form id="formulario">
<input type="text" name="original" size="140" id="original"/>
<p></p>
<input type="submit" id=”bcrip” value="Criptografar">
<input type="submit" id="bdescrip" value="Descriptografar">
<p>Texto criptografado</p>
<input type="text" name="crip" size="140" id="crip"/>
<closeform></closeform></form>
<script>

var form = document.getElementById('formulario');


form.addEventListener('submit', function(a) {
var original = document.getElementById('original');
var crip = document.getElementById('crip');
alert(original.value);
var teste = original.value;
var contador = teste.length;
for(var i = 0;i<=contador;i++){
if (teste.substr(i,i) == ("e")){
teste = teste.replace("e","enter");

i = i +4;
contador = teste.length;

}};


alert(teste);


// impede o envio do form
a.preventDefault();
});






</script>
</body>
</html>

Boa noite.
Não é necessário percorrer a var, use o "g" => global
Exemplo:
teste.replace(/e/g, "Enter"); 



______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________