﻿/*
DATA:
onkeypress="mascara(this, '00/00/0000')"

CEP:
onkeypress="mascara(this, '00000-000')"

TELEFONE:
onkeypress="mascara(this, '(00) 0000-0000')"
*/

function mascara(src, mask){ 

    var i = src.value.length; 
    var saida = mask.substring(i,i+1); 
    var ascii = event.keyCode; 


    if(src.value.length > mask.length-1){
      event.keyCode = 0;
      return
    }

    if (saida == "B") //Não aceita número como entrada no teclado
    { 


        if ((ascii >= 48) && (ascii <= 57))
        {
            event.keyCode = 0;
        } 

        else
        {
            return

        }

    }

    else

    if (saida == "A") //Aceita somente letras do alfabeto e maiúsculas como entrada no teclado
    { 
        if ((ascii >=97) && (ascii <= 122))
        {
            event.keyCode -= 32;
        } 
        else
        {
            event.keyCode = 0;
        } 

    }
    
    else 
        
        if (saida == "0") //Aceita somente números como entrada no teclado
        { 

            if ((ascii >= 48) && (ascii <= 57))
            {
                return

            } 
            else
            {
                event.keyCode = 0
            } 
        }

        else //Aceita qualquer entrada no teclado
        
        if (saida == "#")
        {
            return;
        } 
        else
        {

            while(saida != "A" && saida != "B" && saida != "0"){
                src.value += saida; 
                i += 1 
                saida = mask.substring(i,i+1); 
                }
            
            if (saida == "A")
            { 
                if ((ascii >=97) && (ascii <= 122))
                {
                    event.keyCode -= 32;
                }
                else
                {
                    event.keyCode = 0;
                } 
            }
            else
            if (saida == "0")
            {
                if ((ascii >= 48) && (ascii <= 57))
                {
                    return
                }
                else
                {
                    event.keyCode = 0
                } 
            }
            else
            {            
            return;
            
        } 
    } 
} 

