Oficina da Net Logo

Campo com apenas números

Função javascript que bloqueia os caracteres de um campo apenas para números. Função ainda flexíevel para liberar alguns caracteres. Confira.

Por | @nmuller99 Programação Pular para comentários
Olá pessoal,

Confiram esta função que criei para bloquear números em um campo.


function somenteNumero(obj,e)
{

  var valor, val;

  liberado = new Array(',','.');
  liberadoE = new Array(188,190,8);

  valor = obj.value;
  if(document.all)
  {
    if(!((e.keyCode > 47 && e.keyCode < 58) || Array.find(liberadoE,e.keyCode) != '-1' ))     {
        obj.value = valor.substr(0,valor.length - 1);
    }
  }
  else
  {
    val = '';

    for (x = 0; x < valor.length; x++)
    {
      if(!isNaN(valor[x]) || Array.find(liberado,valor[x]) != '-1')
      {
        val += valor[x];
      }
    }
    obj.value = val;
  }
}

Array.find = function(ary, element)
{
    for(var i=0; i     {
        if(ary == element)
        {
            return i;
        }
    }
    return -1;
}


Vejam que tenho um array chamado liberado em que você pode liberar alguns caractéres, caso trabalhe com valores de preços.
CUIDADO se remover do array liberado, remova os dois primeiros valores do array liberadoE que são utilizados para tratar no IE.

Uso da função no campo

Você tem Telegram? Então inscreva-se grátis aqui no canal do Oficina da Net e recebe todas as notícias pelo mensageiro.

MAIS SOBRE:
Comentários
Carregar comentários