Validação de caracteres numéricos

A seguinte função de Javascript verifica se o argumento é um número, Tab ou Enter:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function numero(evtKeyPress)
{
    var nTecla = 0;
    if (document.all) {
        nTecla = evtKeyPress.keyCode;
    } else {
        nTecla = evtKeyPress.which;
    }
    if ((nTecla > 47 && nTecla < 58)
    || nTecla == 8 || nTecla == 127
    || nTecla == 0 || nTecla == 9  // 0 == Tab
    || nTecla == 13) { // 13 == Enter
        return true;
    } else {
        return false;
    }
}

Para forçar o input a aceitar apenas números, e ainda permitir que o Tab mude de campo e o Enter envie o formulário, chame-a assim:

1
<input type="text" onkeypress="return numero(event);"; />

Bom para chamar em campos de Telefone ou Data!

É fácil mudar a função para aceitar vírgula e ponto, caso você precise validar valores em moeda corrente ou com decimal. Dê um alert(nTecla); e veja os códigos de cada tecla que você precisar deixar passar. 🙂

Post a Comment

Your email is never shared.