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

Retirar Ascentos


PRWEBMaster

Pergunta

Tudo bem pessoal?

Estou com uma duvida de como montar uma função para retirar ascentros e caracteres especiais quando vai digitando em uma TEXTAREA.

Estou tentando com essa função mas não consigo:

function retira_acentos(palavra) {

com_acento = "áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ";
sem_acento = "aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC";
nova = "";

for(i=0;i<palavra.length;i++) {
    if (com_acento.search(palavra.substr(i,1))>=0)
        nova += sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);
    else
        nova += palavra.substr(i,1);
}
document.myForm.Sacento.value = nova;
}
TEXTAREA:
<textarea name="observacao" cols="63" rows="1" class="style93" id="observacao" onblur="retira_acentos(this.value)"></textarea>

Muito obrigado

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Você poderia usar expressão regular dessa forma:

<textarea name="observacao" cols="63" rows="1" class="style93" id="observacao" onkeyup="java script:this.value=this.value.replace(/[^0-9a-A-Z]/g, '');"></textarea>

Assim, você limita a digitar somente letras e números...

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo. Boa tarde!

Tente assim

function retira_acentos(palavra) {
com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ´`';
sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC  ';
nova='';
for(i=0;i<palavra.length;i++) {
if (com_acento.search(palavra.substr(i,1))>=0) {
nova+=sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);
}
else {
nova+=palavra.substr(i,1);
}
}
return nova;
}
e no html assim
<textarea name="observacao" cols="63" rows="1" class="style93" id="observacao" onkeyup="this.value=retira_acentos(this.value);"></textarea>

qualquer coisa me fala!

Editado por raffr
Link para o comentário
Compartilhar em outros sites

  • 0

testei e esta funcionando !

<script language="JavaScript" type="text/javascript">


 function retiraAcento(obj)
 {
   palavra = String.fromCharCode(event.keyCode);
  
  var caracteresInvalidos = 'àèìòùâêîôûäëïöüáéíóúãõÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÁÉÍÓÚÃÕ';
  var caracteresValidos =   'aeiouaeiouaeiouaeiouaoAEIOUAEIOUAEIOUAEIOUAO';
  var acento = "´`^¨~";
  if(acento.indexOf(palavra)!= -1)
  {
    window.event.keyCode = 0;
  }

 if (caracteresInvalidos.indexOf(palavra) == -1) 
  {
       if (caracteresValidos.indexOf(palavra) != -1) {
         window.event.keyCode = 0;
         obj.value = obj.value + palavra;
       }
  } 
  else 
  {
           window.event.keyCode = 0;
           nova = caracteresValidos.charAt(caracteresInvalidos.indexOf(palavra));
           obj.value =  obj.value + nova;
  }
  
 }
</script>

Agora o codigo HTML

<form id="verifica" method="post" action="" >
  <p>
    <input type="text" name="txtlogin" id="txtlogin" onKeyPress="java script:retiraAcento(this);">
  </p>
  
</form>

Link para o comentário
Compartilhar em outros sites

  • 0

po, eu to testando aqui e tá funcionando cara

copia o código completo e testa denovo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script language="JavaScript">
function retira_acentos(palavra) {
com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ´`';
sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC  ';
nova='';
for(i=0;i<palavra.length;i++) {
if (com_acento.search(palavra.substr(i,1))>=0) {
nova+=sem_acento.substr(com_acento.search(palavra.substr(i,1)),1);
}
else {
nova+=palavra.substr(i,1);
}
}
return nova;
}
</script>

</head>

<body>
<form >
<textarea onkeyup="this.value=retira_acentos(this.value);"></textarea>

</form>
</body>
</html>

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...