Ir para conteúdo

Arquivado

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

alysson122010

Remover características especiais

Recommended Posts

Gente tenho esse código que quando eu digito no input ele mostra na div ao vivo, porém, preciso que onde ele mostra na div ele remove características especiais, acentos e no lugar onde tiver espaço colocar um hífen. Como faço isso?

código jquery:

<input id="b" oninput="alteraValor()"/>
<div id="a"></div>
<script type="text/javascript">
var alteraValor = function () {
document.getElementById('a').innerText = document.getElementById('b').value;
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, segue solução:

function alteraValor() {
var text = document.getElementById("b").value;

var specials = new Object();
specials["/[ÀÁÂÃÄ]/g"] = "A";
specials["/[ÈÉÊË]/g"] = "E";
specials["/[ÌÍÎÏ]/g"] = "I";
specials["/[ÒÓÔÕÖ]/g"] = "O";
specials["/[ÙÚÛÜ]/g"] = "U";
specials["/[Ç]/g"] = "C";

for (var property in specials) {
text = text.replace(eval(property), specials[property]);
text = text.replace(eval(property.toLowerCase()), specials[property].toLowerCase());
}

text = text.replace(/\ /g, "-");

document.getElementById("a").textContent = text;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

para mostrar no input basta trocar:

document.getElementById("a").textContent = text;
por

document.getElementById("a").value = text;

sendo o input

<input id="a" />

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.