quarta-feira, 26 de setembro de 2007

Validando uma string como hora válida

Conforme prometido, segue aí uma função que retorna um boolean para validar uma string como hora (nos formatos HH:mm:ss ou HH:mm). Esta com certeza parecerá mais interessante que o post anterior em relação a produtividade... ledo engano, ambas são de igual importância! (e se o código não ficar identado corretamente é porque perdi a paciência com o Blogger em ter que ficar reorganizando o que já estava organizado).

function eHora(str){
   bool = true;
   var i;
   
   if(eVazio(str))
      return false;
   
   if(isNaN(replaceAll(str,":","")))
      return false;
      
   tmp = str.split(":");
   if(tmp.length<2>3)
      return false;
      
   for(i=0;i<tmp.length;i++){
      if(tmp[i].length==1 || tmp[i].length==2){
         if(i==0){
            if(eval(tmp[i])>23)
             bool = false;
         }
         else{
            if(eval(tmp[i])>59)
             bool = false;
         }
      }
      else{
         bool = false;
      }
   }   return bool;
}

Obs. 1: A função "replaceAll()" que utilizo nesta função acima foi extaída deste post do ótimo blog do Rogério Lino.
Obs. 2: Se você usa alguma versão do Dreamweaver para montar seus js's, segue um conselho de amigo, utilize o Aptana, Eu uso ele há alguns meses e não pretendo trocar de IDE para javascript tão cedo.

[]'s do MX...

Update #1: Estamos abertos a críticas. Se alguém viu ou fez esta tarefa de maneira mais simples basta compartilhar conosco! xD
Update #2: Antes que seja tarde... a função "eVazio()" usada acima está no post anterior a este.

Nenhum comentário: