Skip to content

Instantly share code, notes, and snippets.

@jgabriellima
Created February 17, 2016 04:08
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 jgabriellima/7cc4a2475f96879d0be6 to your computer and use it in GitHub Desktop.
Save jgabriellima/7cc4a2475f96879d0be6 to your computer and use it in GitHub Desktop.
mascara javascript
var v_obj, v_fun;
function mascara(o, f) {
v_obj = o;
v_fun = f;
setTimeout("execmascara()", 1);
}
function execmascara() {
v_obj.value = v_fun(v_obj.value);
}
function leech(v) {
v = v.replace(/o/gi, "0");
v = v.replace(/i/gi, "1");
v = v.replace(/z/gi, "2");
v = v.replace(/e/gi, "3");
v = v.replace(/a/gi, "4");
v = v.replace(/s/gi, "5");
v = v.replace(/t/gi, "7");
return v;
}
function soNumeros(v) {
return v.replace(/\D/g, "");
}
function telefone(v) {
v = v.replace(/\D/g, ""); //Remove tudo o que não é dígito
v = v.replace(/^(\d\d)(\d)/g, "($1) $2"); //Coloca parênteses em volta dos dois primeiros dígitos
v = v.replace(/(\d{5})(\d)/, "$1-$2"); //Coloca hífen entre o quarto e o quinto dígitos
return v;
}
function cpf_mask(v) {
v = v.replace(/\D/g, ""); //Remove tudo o que não é dígito
v = v.replace(/(\d{3})(\d)/, "$1.$2"); //Coloca um ponto entre o terceiro e o quarto dígitos
v = v.replace(/(\d{3})(\d)/, "$1.$2"); //Coloca um ponto entre o terceiro e o quarto dígitos
//de novo (para o segundo bloco de números)
v = v.replace(/(\d{3})(\d{1,2})$/, "$1-$2"); //Coloca um hífen entre o terceiro e o quarto dígitos
return v;
}
function cep(v) {
v = v.replace(/\D/g, ""); //Remove tudo o que não é dígito
v = v.replace(/^(\d{5})(\d)/, "$1-$2"); //Esse é tão fácil que não merece explicações
return v;
}
function vplaca(v) {
// /[a-zA-Z]+/g
// v = v.replace(/\D/g, ""); //Remove tudo o que não é dígito
// v = v.replace(/^(\d{3})(\d)/, "$1-$2"); //Esse é tão fácil que não merece explicações
return v;
}
function cnpj(v) {
v = v.replace(/\D/g, ""); //Remove tudo o que não é dígito
v = v.replace(/^(\d{2})(\d)/, "$1.$2"); //Coloca ponto entre o segundo e o terceiro dígitos
v = v.replace(/^(\d{2})\.(\d{3})(\d)/, "$1.$2.$3"); //Coloca ponto entre o quinto e o sexto dígitos
v = v.replace(/\.(\d{3})(\d)/, ".$1/$2"); //Coloca uma barra entre o oitavo e o nono dígitos
v = v.replace(/(\d{4})(\d)/, "$1-$2"); //Coloca um hífen depois do bloco de quatro dígitos
return v;
}
function romanos(v) {
v = v.toUpperCase(); //Maiúsculas
v = v.replace(/[^IVXLCDM]/g, ""); //Remove tudo o que não for I, V, X, L, C, D ou M
//Essa é complicada! Copiei daqui: http://www.diveintopython.org/refactoring/refactoring.html
while (v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/, "") != "");
v = v.replace(/.$/, "");
return v
}
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
function site(v) {
//Esse sem comentarios para que você entenda sozinho ;-)
v = v.replace(/^http:\/\/?/, "");
dominio = v;
caminho = "";
if (v.indexOf("/") > -1);
dominio = v.split("/")[0];
caminho = v.replace(/[^\/]*/, "");
dominio = dominio.replace(/[^\w\.\+-:@]/g, "");
caminho = caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g, "");
caminho = caminho.replace(/([\?&])=/, "$1");
if (caminho != "") dominio = dominio.replace(/\.+$/, "");
v = "http://" + dominio + caminho;
return v;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment