Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@mvnp
Created January 8, 2020 15:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mvnp/20299010f764845ebeecba13b669a532 to your computer and use it in GitHub Desktop.
Save mvnp/20299010f764845ebeecba13b669a532 to your computer and use it in GitHub Desktop.
$(function()
{
/* ##############################################################################
* ##############################################################################
#### CPF CNPJ USANDO O MESMO CAMPO COM MASKEDINPUT.JS ##########################
############################################################################## */
$("#cpf, #cnpj").keyup(function(){
if($(this).val().length <= 14)
$(this).val( mascara($(this).val(), '999.999.999-99') );
else
$(this).val( mascara($(this).val(), '999.999.999/9999-99') );
});
/* ##############################################################################
* ##############################################################################
#### TELEFONE COM 9 E 10 DIGITOS USANDO MASKEDINPUT.JS #########################
############################################################################## */
$("#fone, #whatsapp")
.mask("(99) 9999-9999?9")
.focusout(function (event) {
var target, phone, element;
target = (event.currentTarget) ? event.currentTarget : event.srcElement;
phone = target.value.replace(/\D/g, '');
element = $(target);
element.unmask();
if(phone.length > 10) {
element.mask("(99) 99999-9999?");
} else {
element.mask("(99) 9999-99999?");
}
}
);
});
function str_replace(busca,subs,valor){
var ret=valor;
var pos=ret.indexOf(busca);
while(pos!=-1){
ret=ret.substring(0,pos)+subs+ret.substring(pos+busca.length,ret.length);
pos=ret.indexOf(busca);
}
return ret;
}
function mascara(valor,masc){
var res=valor,mas=str_replace("?","",str_replace("9","",masc));
for(var i=0;i<mas.length;i++){
res=str_replace(mas.charAt(i),"",res);
mas=str_replace(mas.charAt(i),"",mas);
}
var ret="";
for(var i=0;i<masc.length&&res!="";i++){ switch(masc.charAt(i)){ case"?": ret+=res.charAt(0); res=res.substring(1,res.length); break; case"9": while(res!=""&&(res.charCodeAt(0)>57||res.charCodeAt(0)<48))res=res.substring(1,res.length);
if(res!=""){
ret+=res.charAt(0);
res=res.substring(1,res.length);
}
break;
default:
ret+=masc.charAt(i);
}
}
return ret;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment