Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, preciso de uma máscara que aceite as seguintes opções de valores:
12.345 || 1.234 || 1.2 || 1.23 || 12.3 || 12.34
Estou usando Zend. Tentei fazer através de um componente do meu template, mas não dá:
'data-mask' => '99.999'
Tem alguma forma de adicionar opções a uma máscara?
>
$('campo').mask('99.999');
Vinícius, mas com essa função eu também estaria permitindo apenas essa forma de inserção, certo?
O problema é exatamente esse. Eu não sei se existe, mas seria algo do tipo $('campo').mask('99.999','99.9','9.9',....);
Com essa formatação você permite que ele coloque apenas 2 dígitos antes do ponto e mais 3 depois.
o número é o indicador máximo, ou seja, 9 = [0,1,2,3,4,5,6,7,8,9]
não entendi qual seu problema.
Vamo lá.
O problema é que ele pode colocar 1 digito antes do ponto e mais 3 depois, ou mais 2...
O padrão: 12.345
Mas eu tenho que aceitar: 1.234 e etc.
Sacou?
Não me recordo bem, tenta assim:
?9.999
Boa tarde,
Veja se ajuda - http://forum.imasters.com.br/topic/244057-mscara-moeda-com-expresso-regular/?p=1147378
Consegui resolver uma parte com a sua resolução Rangel.
A outra parte, resolvi colocando a máscara para aceitar número e ponto nas 3 primeiras casas.
Ficou assim:
data-mask = '?///999'
/ -> definido para aceitar 1-9 e .
Bom não sei se você tem preferencia pelo Javascript puro mas eu trabalho muito bem com o Jquery apesar de muito dos bons desenvolvedores do forum não curtir.
Dentro do Jquery existe um plugin chamado mask, é bem simples o uso.
$('campo').mask('99.999');
http://vinteum.com/jquery-mask-mascaras-para-campos-html-utilizando-jquery/