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. =)

Comentários