quinta-feira, 27 de setembro de 2007

Validando uma string como hora válida (agora em ASP!)

Antes de mais nada, o Ministério da Saúde adverte: montar uma função usando uma linguagem que segue o padrão sintático ECMAScript, e depois tentar (leia-se "logo em seguida") adaptá-la para uma linguagem que segue a sintaxe do Basic provoca um nível leve de stress e alguns risos com ar de ódio...
Sigamos com nossa programação normal. Lembram daquela função de ontem? Então, está aí a versão ASP dela! Divirtam-se crianças (e quem sabe eu ainda não desenvolvo uma versão desta função em ColdFusion... é um caso a se pensar...)

function eHora(str)
   bool = true
   if isEmpty(str) then
      eHora = false
   end if
   
   if not isNumeric(Replace(str,":","")) then
      eHora = false
   end if
      
   tmp = Split(str,":")
   if UBound(tmp) <> 2 then
      eHora = false
   end if
   
   For i = 0 to Ubound(tmp)
      if len(tmp(i)) = 1 or len(tmp(i)) = 2 then
         if i = 0 then
            if CInt(tmp(i)) > 23 then
               bool = false
            end if   
         else
            if CInt(tmp(i)) > 59 then
               bool = false
            end if
         end if
      else
         bool = false
      end if
   Next
   eHora = bool
end function

[]'s do MX...

Nenhum comentário: