You can also do it with pure Javascript!
<!DOCTYPE html>
<html>
<head>
<title>Máscara CPF</title>
<script type="text/javascript">
function fMasc(objeto,mascara) {
obj=objeto
masc=mascara
setTimeout("fMascEx()",1)
}
function fMascEx() {
obj.value=masc(obj.value)
}
function mTel(tel) {
tel=tel.replace(/\D/g,"")
tel=tel.replace(/^(\d)/,"($1")
tel=tel.replace(/(.{3})(\d)/,"$1)$2")
if(tel.length == 9) {
tel=tel.replace(/(.{1})$/,"-$1")
} else if (tel.length == 10) {
tel=tel.replace(/(.{2})$/,"-$1")
} else if (tel.length == 11) {
tel=tel.replace(/(.{3})$/,"-$1")
} else if (tel.length == 12) {
tel=tel.replace(/(.{4})$/,"-$1")
} else if (tel.length > 12) {
tel=tel.replace(/(.{4})$/,"-$1")
}
return tel;
}
function mCNPJ(cnpj){
cnpj=cnpj.replace(/\D/g,"")
cnpj=cnpj.replace(/^(\d{2})(\d)/,"$1.$2")
cnpj=cnpj.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3")
cnpj=cnpj.replace(/\.(\d{3})(\d)/,".$1/$2")
cnpj=cnpj.replace(/(\d{4})(\d)/,"$1-$2")
return cnpj
}
function mCPF(cpf){
cpf=cpf.replace(/\D/g,"")
cpf=cpf.replace(/(\d{3})(\d)/,"$1.$2")
cpf=cpf.replace(/(\d{3})(\d)/,"$1.$2")
cpf=cpf.replace(/(\d{3})(\d{1,2})$/,"$1-$2")
return cpf
}
function mCEP(cep){
cep=cep.replace(/\D/g,"")
cep=cep.replace(/^(\d{2})(\d)/,"$1.$2")
cep=cep.replace(/\.(\d{3})(\d)/,".$1-$2")
return cep
}
function mNum(num){
num=num.replace(/\D/g,"")
return num
}
</script>
</head>
<body>
<input type="text" name="cpf" onkeydown="javascript: fMasc( this, mCPF );">
</body>
</html>
I already left some masks ready: CNPJ, zip code, phone and only numbers.
These masks were developed based on regular expressions. It is worth studying on the subject.
Share with us what you’ve been trying
– BrTkCa