William Luis

0 %
William Luis
Fullstack Developer
  • Residence:
    Canada
  • City:
    Toronto
  • Age:
    26
French
English
Spanish
html
CSS
Js
PHP
WordPress
  • Bootstrap, Materialize
  • Stylus, Sass, Less
  • Gulp, Webpack, Grunt
  • GIT knowledge

Plugin de Máscara de formulários para JQuery – Masked Input

5 de janeiro de 2012

Se trata de um plugin bem simples e pequeno (2.8kb) de jquery pra fazer máscaras nos inputs de um formulário, como cpf, cnpj, telefone, cep, etc…

Pra usar é bem simples, faça download dos arquivos :

JQuery 1.2.6, versão pack e
Masked Input-1.1.4, versão pack

e chame-os dentro do HEAD da sua página :

[sourcecode language=”html”] título do site …<script src="js/jquery-1.2.6.pack.js" type="text/javascript"></script><script src="js/jquery.maskedinput-1.1.4.pack.js" type="text/javascript"></script>[/sourcecode]

Para aplicar a máscara, as regras são simples:

a – Representa qualquer letra (A-Z,a-z)
9 – Representa qualquer número (0-9)
* – Representa qualquer caractére alfanumérico (A-Z,a-z,0-9)

Veja os exemplos

[sourcecode language=”javascript”]<script type="text/javascript">// <![CDATA[
$(document).ready(function(){
$("#telefone").mask("9999-9999");
$("#cpf").mask("999.999.999-99");
$("#cep").mask("99999-999");
$("#data").mask("99/99/9999");
});
// ]]></script>[/sourcecode]

Veja um exemplo de um campo ajustável, onde pode ser usado como CPF ou como CNPJ no mesmo campo.

[sourcecode language=”javascript”]<script type="text/javascript">// <![CDATA[
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;
}

$(document).ready(function(){

$("#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’) );

})

});
// ]]></script>[/sourcecode]

E o campo fica assim

[sourcecode language=”html”]

<input id="cpf_cnpj" name="cpf_cnpj" type="text" />

[/sourcecode]

Fonte: digitalbush

Até a próxima. =)

Posted in Dicas, JQuery, PluginsTags:
2 Comments
Write a comment