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;
}