Máscara em java script para aceitar somente números

17 respostas
C

Todas as máscaras que eu encontro, é do tipo return txtBoxFormat(this,‘99999999999999999999’,event); logo só aceita numeros, mas tem que inserir um número fixo de caracteres…como eu faço uma máscara que aceita 9, ou 99, ou 999 ou 99999999999999999999 ???

17 Respostas

M

Experimenta isso

var mask2 = new FieldMask("(##) ####-####");
mask2.backwards = false;
mask2.setMaskFor(document.tela4.telefone);

Abraço.

C

mas isso no jsp???}onde???

M

Esse é um codigo JavaScript que vc coloca no seu JSP.

L

carlavb ,

voce pode fazer um função para pegar o evento do teclado, aí vc compara o código ascii e verifica se é algum numero, ou então vc pode fazer uma regez simples nesse método de validação para aceitar somente digito, “\d”. Aí se validar com sucesso, vc permite a inserção do valor no campo, senão vc dá um return false e não insere nada.

seria vc declarar uma função validadora no event onkeypress do seu campo.

M

Sua JSP fica assim:

<BODY onload="load();">

<script type="text/javascript">
function load(){
        var mask2 = new FieldMask("(##) ####-####");
        mask2.backwards = false;
        mask2.setMaskFor(document.tela4.telefone);
}
</script>

<FORM name="tela4" method="post">

<input type="text" name="telefone" id="telefone" maxlength="14" />

Espero ter ajudado.

M

Este talvez seja mais facil …

<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
<!--
function somente_numero(campo){
var digits="[telefone removido]"
var campo_temp 
	for (var i=0;i<campo.value.length;i++){
		campo_temp=campo.value.substring(i,i+1) 
		if (digits.indexOf(campo_temp)==-1){
			campo.value = campo.value.substring(0,i);
		}
	}
}

-->
</script>
</head><body>
<form action="submit.asp" method="post" name="form">
<input name="numero" id="numero" onKeyUp="javascript:somente_numero(this);" value="" size=15>
</form>

</body></html>

copia e cola num txt e renomeia para a extenção html e divirta-se

F

Olá na caixa onde deseja somente numero no evento onkeypress=“return numeros(this);”

function numeros(){
        
        if (document.all) // Internet Explorer
                var tecla = event.keyCode;
        else if(document.layers) // Nestcape
                var tecla = e.which;
    
        if ((tecla > 47 && tecla < 58)) // numeros de 0 a 9
            return true;
        else {
            if (tecla != 8) // backspace
                //event.keyCode = 0;
                return false;
            else
                return true;
        }
    }

Acho que isso resolve…

C

Michel, mas esse deixa inserir letras, so as retira quando eu dou tab…
=/

C

o do fnascimento funcionouuuuuu
brigada mesmo
vc teria tb o pra aceitar so letras e numeros?brigaaaaada

F

Não entendi, para aceitar somente letras e numeros tirando simbolos ?

F

Da uma olhadinha na tabela dos valores keycodes… (table event.keyCode)
Busquei no google me retornou varios sites mas creio que esse pode te ajudar:

http://www.quirksmode.org/js/keys.html
Lá em baixo tem os eventos vc vai apertando as teclas ele vai te mostras o codigo…
Basta fazer os if com os caracteres que deseja ou não… Lembrando que os codigos é baseado em tipos ex: numeros é de 48 até 58.

Qualquer dúvida estamos ai…

P

Expressões Regulares?

F

Creio que possa utilizar expressões regulares faz sentido.

M

J

Ql a melhor forma de aplicar isso em jsf?

Usei o do fnascimento e n aceita letras, mas tb n aceita numeros!
tentei usar esta

function somenteNumeros(campo){

campo.value = campo.value.replace(/\D/g,"");

}

mas ele deixa eu escrever uma letra apenas e depois bloqueia. Quero q m impeça totalmente…

:wink:

J

Ola pessoal ressuscitando esse tópico
como faço para limitar a 4 dígitos
é que tenho que fazer uma validação de ano,
e só pode ser digitado quatro numero
valeu

R

jaissonduarte:
Ola pessoal ressuscitando esse tópico
como faço para limitar a 4 dígitos
é que tenho que fazer uma validação de ano,
e só pode ser digitado quatro numero
valeu

não pode usar a propriedade maxlength ?

Criado 26 de fevereiro de 2008
Ultima resposta 25 de mai. de 2012
Respostas 17
Participantes 9