Ir para conteúdo
Fórum Script Brasil
  • 0

Data De Vencimento


igor.damiano

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0

Fiz uma logicazinha altamente PAIA,mas serve para alguém alterar e fazer mehor:

os bugs: leva em consideração que todos os meses tem 31 dias e não tem tratamento de ano,ex: se o cara digitar ano 13,o script valida,mas isso é o basico,o grosso ta feio,podem existir alguns bugs,postei aqui para tirarem minha duvidas tb!!

<HTML>

<script language="JavaScript">

  <!--

    function valida_data(edit){

      if(event.keyCode<48 || event.keyCode>57){

        event.returnValue=false;

      }

      if(edit.value.length==2 || edit.value.length==5){

        edit.value+="/";

      }

    }

    function branco(edit){

      event.returnValue=false;

    }

    function vencimento(){

      dia=eval(data.value.charAt(0)+data.value.charAt(1));

      mes=eval(data.value.charAt(3)+data.value.charAt(4));

      ano=eval(data.value.charAt(6)+data.value.charAt(7)+data.value.charAt(8)+data.value.charAt(9));

      dia=dia+7;

      if(dia>31){

        dia=dia-31;

        mes=mes+1;

      }

      if(mes>12){

        mes=mes-12;

        ano=ano+1;

      }

      d_zero="";

      m_zero="";

      if(dia<10)

        d_zero="0"

      if(mes<10)

        m_zero="0"

      venc.value= d_zero+dia + "/" + m_zero+mes +"/"  + ano;

    }

  -->

</script>

<body>

Informe a Data: <input type="text" name="data" maxlength="10" onkeypress="valida_data(this)"><br>

<input type="button" Value="Gerar" onclick="vencimento()"><br>

Vencimento: <input type="text" name="venc" onkeypress="branco(this)"><br>

</BODY>

</HTML>

Link para o comentário
Compartilhar em outros sites

  • 0

Ageitei(Eu acho);

O unico bug que encontrei é que fevereiro tem que ter 28 dias.o resto que tinha antes,eu tratei,podem existir outros,mas não achei,please,fucem e achem :)

<HTML>

<script language="JavaScript">

  <!--

    array=[04,06,09,11];

    function valida_data(edit){

      if(event.keyCode<48 || event.keyCode>57){

        event.returnValue=false;

      }

      if(edit.value.length==2 || edit.value.length==5){

        edit.value+="/";

      }

    }

    function branco(edit){

      event.returnValue=false;

    }

    function vencimento(){

      dia=eval(data.value.charAt(0)+data.value.charAt(1));

      mes=eval(data.value.charAt(3)+data.value.charAt(4));

      ano=eval(data.value.charAt(6)+data.value.charAt(7)+data.value.charAt(8)+data.value.charAt(9));

      if(dia>29 && mes==02){

        alert("Data Inválida");

        data.value="";

        data.focus();

        return false;

      }

      if(dia>31 || mes>12 || dia<1 || mes<1 || ano<1000){

        alert("Data Inválida");

        data.value="";

        data.focus();

        return false;

      }

      for(x=0; x<array.length; x++){

        if(mes == array[x] && dia>30){

          alert("Data Inválida");

          data.value="";

          data.focus();

          return false;

        }

      }

      if(dia==28 && mes==02){

        dia=31;

      }

      dia=dia+7;

      if(dia>31){

        dia=dia-31;

        mes=mes+1;

      }

      if(mes>12){

        mes=mes-12;

        ano=ano+1;

      }

      d_zero="";

      m_zero="";

      if(dia<10)

        d_zero="0"

      if(mes<10)

        m_zero="0"

      venc.value= d_zero+dia + "/" + m_zero+mes + "/"  + ano;

    }

  -->

</script>

<body>

Informe a Data: <input type="text" name="data" maxlength="10" onkeypress="valida_data(this)"><br>

<input type="button" Value="Gerar" onclick="vencimento()"><br>

Vencimento: <input type="text" name="venc" onkeypress="branco(this)"><br>

</BODY>

</HTML>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...