Encontrei um código para formatar o valor da forma que eu quero, o problema que ele aciona o script para todos os inputs (ver abaixo)
$(function(){
$('input').bind('keypress',mask.money)
});
Porém queria aplicar apenas a um dos inputs do meu form.
Abaixo segue o script completo
var mask = {
money: function() {
var el = this
,exec = function(v) {
v = v.replace(/\D/g,"");
v = new String(Number(v));
var len = v.length;
if (1== len)
v = v.replace(/(\d)/,"0.0$1");
else if (2 == len)
v = v.replace(/(\d)/,"0.$1");
else if (len > 2) {
v = v.replace(/(\d{2})$/,'.$1');
}
return v;
};
setTimeout(function(){
el.value = exec(el.value);
},1);
}
}
$(function(){
$('input').bind('keypress',mask.money)
});
o input seria o abaixo:
<input type="text" id="valorform" name="valorform">
Tentei incluir a máscara a seguir em um POST meu antigo, porém está fechado para novas respostas:
Todavia, para futuras consultas minhas e também para ajudar outras pessoas, venho deixar uma máscara interessante que acabei de terminar em JavaScript.
Ficou muito menor que a do POST acima:
<script type="text/javascript">
var iCount1;
var trava = false;
function MaskDown(e) {
if (trava == false) {
iCount1 = e.value.length;
trava = true;
}
}
function MaskUp(e,mascara) {
if (trava) {
var textoLimpo = e.value.substr(0,iCount1+1).replace(/[\/\:\-\.]/g,"");
var texto = "";
var iM = 0;
var iT = 0;
while (iM < mascara.length) {
if (iT < textoLimpo.length) {
if (mascara.substr(iM,1) == "#") {
texto += textoLimpo.substr(iT,1);
iT++;
} else {
texto += mascara.substr(iM,1);
}
}
iM++;
}
e.value = texto;
trava = false;
}
}
</script>
Para funcionar, basta incluir em suas tags input os eventos, como demonstrado a seguir:
<input type="text" id="tfData" onkeydown="MaskDown(this)" onkeyup="MaskUp(this,'##/##/####')" placeholder="dd/mm/aaaa" style="width:80px" />
<br /><input type="text" id="tfHora" onkeydown="MaskDown(this)" onkeyup="MaskUp(this,'##:##')" placeholder="hh:mm" style="width:50px"/>
À medida que o usuário vai digitando, o valor campo vai sendo formatado. Pode ser usado para CPF, CEP, RG, dentre outros...
Olá, tudo bem? sou novo na comunidade mas preciso de ajuda, eu gostaria de fazer um cadastro único onde o campo de texto formatado do CPF sirva para CNPJ, por exemplo:
Se (campo_de_texto.Lenght > CPF.lenght)
{
Mascara == CNPJ;
}else
{
Mascara == CPF;
}
Essa é a lógica, só não sei como aplicar... alguém poderia me ajudar?
Olá, tudo bem? sou novo na comunidade mas preciso de ajuda, eu gostaria de fazer um cadastro único onde o campo de texto formatado do CPF sirva para CNPJ, por exemplo:
Se (campo_de_texto.Lenght > CPF.lenght)
{
Mascara == CNPJ;
}else
{
Mascara == CPF;
}
Essa é a lógica, só não sei como aplicar... alguém poderia me ajudar?