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

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 :

 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>

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

<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>

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

<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>

E o campo fica assim


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

Fonte: digitalbush

Até a próxima. =)

wiliamluis

Comment (2)
Eduardo Augusto
11 de março de 2013

Muito bom! Parabéns.

Responder
William Luis
11 de março de 2013

Muito obrigado.

Responder

Deixe uma resposta para Eduardo AugustoCancelar resposta