Removendo acentos de um campo texto de uma página ASP.NET durante a digitação (Java Script)

Postado por Daniel Garcia às 19:41 TERÇA-FEIRA, 8 DE SETEMBRO DE 2009

Pessoal, vou dar uma dica de como podemos de forma simples remover caracteres acentuados de um campo durante a digitação. Para isso contarei com a ajuda de uma função Java Script.

A função que desenvolverei executará as seguintes tarefas:

1 – Pegar o valor digitado no campo texto;

2 – Localizar o caractere acentuado, conforme especificado dentro da variável “acento” da função;

3 – Substituir o caractere acentua do pelo caractere não acentuado correspondente, na variável “semacento”;

4 – Por fim, retornar o texto sem acentos para o campo de origem.

Veja a função Java Script a seguir:

    <script type="text/javascript" language="javascript">
        function retirarAcentos(campo) {
               var texto = campo.value;
 
             var acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ';
  
             var semacento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC';
  
            var nova='';

               for (i = 0; i < texto.length; i++) {
                     if (acento.search(texto.substr(i, 1)) >= 0) {
                          nova += semacento.substr(acento.search(texto.substr(i, 1)), 1);
   
               }
  
                  else {
                         nova += texto.substr(i, 1);
  
                  }
  
            }

               campo.value = nova;
   
     }

    </script>

Lembre-se o tag <script> deve estar contido dentro do tag <head> da página.

Adicionarei um objeto do tipo TextBox à página .aspx, que receberá por padrão o nome de objeto “TextBox1”:

<form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </div>

</form>

O próximo passo é associar a chamada da função Java Script ao campo “TextBox1” da página. Para isso teremos que atribuir ao campo texto a tarefa de executar o evento “onkeyup”, que ira díspar a função.

Para isso utilizarei o evento Load da página ASP.NET. Conforme código a seguir:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

         If Not Page.IsPostBack Then

             TextBox1.Attributes.Add("onkeyup", "retirarAcentos(this);")

         End If 

End Sub 

Você poderá ver mais exemplos de como trabalhar com funções Java Script no ASP.NET na seção Java Script do blog.

Concluído! Agora basta executar a página e ver o resultado.

Espero que aproveitem a dica!

4.0 ponto(s). Avaliado por 1 pessoas

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

ASP.NET | Java Script

Comentar


(Vai mostrar seu Gravatar)  

  Country flag

biuquote
  • Comentário
  • Pré-visualização
Loading



Sobre o Autor

Daniel Garcia - MCP, MCTS, MCPD
Meu nome é Daniel Garcia, venho atuando no mercado de tecnologia há mais de uma década. Durante esse tempo tive a oportunidade de trabalhar com diversas tecnologias, principalmente Microsoft. Conquistei os títulos: MCP, MCTS, MCDP e MCT. Desde então, venho contribuindo com toda a Comunidade, divulgando meu conhecimento das tecnologias Microsoft.