function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function ddd(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    return v
}

function numeros(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    return v
}

function moeda(v){  
    v=v.replace(/\D/g,"")                        //permite digitar apenas números
    v=v.replace(/[0-9]{12}/,"inválido")          //limita pra máximo 999.999.999,99
    v=v.replace(/(\d{1})(\d{8})$/,"$1.$2")       //coloca ponto antes dos últimos 8 digitos
    v=v.replace(/(\d{1})(\d{5})$/,"$1.$2")       //coloca ponto antes dos últimos 5 digitos
    v=v.replace(/(\d{1})(\d{1,2})$/,"$1,$2")     //coloca virgula antes dos últimos 2 digitos
    return "R$ " + v
}

function telefone(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    // v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")       //Coloca hífen entre o quarto e o quinto dígitos
    return v
}

function cep(v){
    v=v.replace(/\D/g,"")                   //Remove tudo o que não é dígito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2")     //Esse é tão fácil que não merece explicações
    return v
}

function data(v){
    v=v.replace(/\D/g,"")                         //Remove tudo o que não é dígito
    v=v.replace(/(\d{2})(\d)/,"$1/$2")            //Coloca uma barra entre o segundo e o terceiro dígitos
    v=v.replace(/(\d{2})(\d)/,"$1/$2")            //Coloca uma barra entre o segundo e o terceiro dígitos
                                                  //de novo (para o segundo bloco de números)
    return v
}

function cpf(v){
    v=v.replace(/\D/g,"")                    //remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //coloca um hífen entre o terceiro e o quarto dígitos
    return v
}

function cnpj(v){
    v=v.replace(/\D/g,"") //Remove tudo o que n�o � d�gito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2") //Coloca ponto entre o segundo e o terceiro d�gitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto d�gitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2") //Coloca uma barra entre o oitavo e o nono d�gitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2") //Coloca um h�fen depois do bloco de quatro d�gitos
    return v
}
