Máscara em JavaScript

3 respostas
oliveirarenan

Pessoal,

Eu precisaria fazer uma máscara em JS.

Tipo, quando o usuario digitar apenas 1(UM) número em um campo onde o limite é 3, ao mudar o foco, eu precisaria substituir por ZERO para completar 3 numbers, entende?

tipo, eu insiro o numero 1
ao mudar o foco ele fica assim: 001

se eu preencher 23
ao mudar o foco ele fica assim: 023

se puder, me ajudem!!!

valeuz

3 Respostas

R

tipo vc pode fazer assim:

no evento de perda de foco do campo, vc verifica qtos numeros tem o campo e concatena tantos zeros antes…
nada mto complexo…

falow

_fs

Bem, se a mudança pode ocorrer so quando o campo perde o foco é bem simples:

<html>
	<head>
		<title>Tests</title>

		<style>
			body, td, input{ font-family: verdana; font-size: 12px; }
		</style>
		
		<script language="javascript">
			function formatField( field )
			{
			    var len = field.value.length;
			    var maxLen = field.getAttribute( 'maxlength' );
			    var finalVal = '';
			    if( len < maxLen )
			    {
			        for( var i = 0; i < maxLen - len; i++ )
			            finalVal += '0';
			    }
			    finalVal += field.value;
			
			    field.value = finalVal;
			}
		</script>
	</head>	
	<body>
		<input type="text" maxlength="3" onblur="formatField( this );"/>
	</body>
</html>

Se mudar o maxlength do input funciona tranquilo.

oliveirarenan

Lipe,

Valeuz mesmo…ajudou muito.

Era EXATAMENTE isso que eu precisava.

valeuz

:stuck_out_tongue: :stuck_out_tongue: :stuck_out_tongue: :stuck_out_tongue: :stuck_out_tongue:

Criado 22 de setembro de 2004
Ultima resposta 22 de set. de 2004
Respostas 3
Participantes 3