[RESOLVIDO]Formatação de hora em hh:mm:ss

function formataHoraW3c(campo) { valor = campo.value; valido = '0123456789'; valor1 = ""; for (i=0; i<valor.length; i++ ) { if (valido.indexOf(valor.charAt(i))>=0) { valor1=valor1+valor.charAt(i); } } if((valor1.length>2)) { campo.value = valor1.substr(0,valor1.length-2)+":"+valor1.substr(valor1.length-2,valor1.length); } else { campo.value = valor1; } }
Galera, esse eh meu javaScript que formata a hora (##:##),
porem eu preciso modifica-lo para que receba este formato(##:##:##).
alguem sabe oque deve ser adicionado, ou alguem tem um script que possa estar disponibilizando?
obs: eu estou pegando a hora que o usuario informar, e nao a hora do computador.
vlw pessoal

Trocando as linhas 13-20 por estas creio que funcione.

// Opcional, caso queira que formate corretamente se o usuário digitar 3 ou 5 números somente if((valor1.length==3) || (valor1.length==5)) { valor1 = '0' + valor1; } // Se ele digitar mais de 4 digitos, HHMMSS if((valor1.length>4)) { campo.value = valor1.substr(0,valor1.length-4)+":"+valor1.substr(valor1.length-4,valor1.length-2)+":"+valor1.substr(valor1.length-2,valor1.length); } // Se maior de 2 somente - considera que digitou só HHMM concatena com :00 if((valor1.length>2)) { campo.value = valor1.substr(0,valor1.length-2)+":"+valor1.substr(valor1.length-2,valor1.length)+":00"; } else { campo.value = valor1; }

jamirdeajr
vlw cara, a sua dica foi mto importante,
porem ainda ocorria erros.
ai eu consegui modificar e resolver
mto obrigado pela ajuda.
segue abaixo o cadigo pronto pra ajudar alguem q precise.
soh nao esqueça que ainda tem q incluir validaçoes, senao
retorna horas que nao existem.

function formataHoraW3c(campo) { valor = campo.value; valido = '0123456789'; valor1 = ""; for (i=0; i<valor.length; i++ ) { if (valido.indexOf(valor.charAt(i))>=0) { valor1=valor1+valor.charAt(i); } } if((valor1.length==3) || (valor1.length==5)) { valor1 = '0' + valor1; } if((valor1.length>4)) { campo.value = valor1.substr(0,valor1.length-4)+":"+valor1.substr(valor1.length-4,(valor1.length-3)-1)+":"+valor1.substr(valor1.length-2,valor1.length); } if((valor1.length==4)) { campo.value = valor1.substr(0,valor1.length-2)+":"+valor1.substr(valor1.length-2,valor1.length)+":00"; } }

coloquei a validaçao tambem
quem quiser, agora ta completo.

function formataHoraW3c(campo)
{
		valor  = campo.value;
		valido = '0123456789';
		valor1 = "";
		for (i=0; i<valor.length; i++ )
		{
			if (valido.indexOf(valor.charAt(i))>=0)
			{
				valor1=valor1+valor.charAt(i);
			}
		}  
	   if((valor1.length==3) || (valor1.length==5))  
	   {  
	       valor1 = '0' + valor1; 
	   }  
	   if((valor1.length>4))  
	   {  
	       campo.value = valor1.substr(0,valor1.length-4)+":"+valor1.substr(valor1.length-4,(valor1.length-3)-1)+":"+valor1.substr(valor1.length-2,valor1.length); 
		validaFormataHoraW3c(campo);
	   }  
	   if((valor1.length==4))  
	   {  
	       campo.value = valor1.substr(0,valor1.length-2)+":"+valor1.substr(valor1.length-2,valor1.length)+":00";  
		   
		   hora = valor1.substr(0,(valor1.length-2));
		   minuto = valor1.substr(valor1.length-2,valor1.length);

			if(hora>23)
			{
				alert("A hora informada não é válida.");
				campo.value = "";
				campo.focus();
				return false;
			}
			if(minuto>59)
			{
				alert("A hora informada não é válida.");
				campo.value = "";
				campo.focus();
				return false;
			}
			campo.value = hora+":"+minuto+":00";
			return true;
	   }
}

function validaFormataHoraW3c(campo)
{
		   hora = valor1.substr(0,(valor1.length-4));
		   minuto = valor1.substr(valor1.length-4,(valor1.length-3)-1);
		   segundo = valor1.substr((valor1.length-2), valor1.length);

			if(hora>23)
			{
				alert("A hora informada não é válida.");
				campo.value = "";
				campo.focus();
				return false;
			}
			if(minuto>59)
			{
				alert("A hora informada não é válida.");
				campo.value = "";
				campo.focus();
				return false;
			}
			if(segundo>59)
			{
				alert("A hora informada não é válida.");
				campo.value = "";
				campo.focus();
				return false;
			}
			campo.value = hora+":"+minuto+":"+segundo;
			return true;
}