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
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

Mais sobre:
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo