Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Fernandes dos Santos

Mascara para campo Porcentagem %

Recommended Posts

Pessoal boa tarde.

alguêm poderia me ajudar a desenvolver um javascript para campo porcentagem, com as seguintes regras:

 

1) o campo não pode ser maior que 100%

2) o usuário não pode digitar ",".

3) se o campo for maior que 100% manda uma mensagem para o usuário e limpa o campo.

4) Conforme o usuário for digitando o ponto é colocado automaticamente em seu devido lugar.

 

ja consegui o tempo 2 e o 3 mais ou menos não to conseguindo limpar o campo.

 

<script type="text/javascript">
    function formata(e, q) {
        caixa = q.value
        tecla = e.keyCode | e.which
        ascii = String.fromCharCode(tecla)
        regex = /\d/
        r = regex.test(ascii)
        if (r == true || tecla == 0 || tecla == 8 || tecla == 46 || tecla == 9) {

            if (caixa > 100) {
                alert("Valor não pode ser maior que 100%");
            }

            return true
        }
        else {
            return false
        }
    }

</script>

 

Se alguêm pode dar uma luz ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para limpar, basta fazer:

 

q.value = '';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae com a ajuda do william consegui limpar o campo após apresentar a mensagem para o usuário Ficou assim:

 

 

<script type="text/javascript">
    function formata(e, q) {
        caixa = q.value
        tecla = e.keyCode | e.which
        ascii = String.fromCharCode(tecla)
        regex = /\d/
        r = regex.test(ascii)
        if (r == true || tecla == 0 || tecla == 8 || tecla == 46 || tecla == 9) {

            if (caixa > 100) {
                alert("Valor não pode ser maior que 100%");
                q.value = '';
                return false
            }

            return true
        }
        else {
            return false
        }
    }

</script>

 

 

To chegando la mais alguêm?

Compartilhar este post


Link para o post
Compartilhar em outros sites

para o 4 item, você vai usar o método .replace()

 

pode fazer uma expressão regular, conforme essas aqui:

http://wbruno.com.br/blog/2011/03/12/diversas-mascaras-com-er/

 

a mvalor() chega bem perto doq você pretende.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.