Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Victor Machado

Validar Data

Recommended Posts

Olá Pessoas,

 

Estou colocando aqui um script para validação de Datas.

Estava procurando hoje por um desses mas o que eu encontrava era só algo como testar qual tecla a pessoa pressionou.

Porém isso não resolve 100% do problema. Do que eu vi não tinham tratamento de ctrl+v e de clicar com o botão direito do mouse e depois em 'Colar'.

 

function verificaData(digData)
{
   var bissexto = 0;
   var data = digData;
   var tam = data.length;
   if (tam == 10)
   {
       var dia = data.substr(0,2)
       var mes = data.substr(3,2)
       var ano = data.substr(6,4)
       if ((ano > 1900)&&(ano < 2100))
       {
           switch (mes)
           {
               case '01':
               case '03':
               case '05':
               case '07':
               case '08':
               case '10':
               case '12':
                   if  (dia <= 31)
                   {
                       return true;
                   }
                   break

               case '04':
               case '06':
               case '09':
               case '11':
                   if  (dia <= 30)
                   {
                       return true;
                   }
                   break
               case '02':
                       /* Validando ano Bissexto / fevereiro / dia */
                   if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0))
                   {
                       bissexto = 1;
                   }
                   if ((bissexto == 1) && (dia <= 29))
                   {
                       return true;
                   }
                   if ((bissexto != 1) && (dia <= 28))
                   {
                       return true;
                   }
                   break
           }
       }
   }
   return false;
}

function formatData(input){

   if(input.value.length>10){
       input.value = input.value.substring(0,10);
   }
   input.value = input.value.replace(/[^0-9]/g,"");
   if(input.value.length>2){
       input.value = input.value.substring(0,2)+"/"+input.value.substring(2);
   }
   if(input.value.length>5){
       input.value = input.value.substring(0,5)+"/"+input.value.substring(5);
   }
}

 

O verificaData não fui eu que fiz. Eu queria colocar o autor mas não lembro de onde eu peguei.

Esse script eu coloquei no arquivo utils.js

Agora como eu utilizei o código:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <title>Validando Datas Javascript</title>
   </head>
   <body>
       <script type="text/javascript" src="utils.js"></script>
       <script type="text/javascript">
           function validar(){
               var submit=true;
               var form=document.form;
               while(erros.hasChildNodes()){
                   erros.removeChild(erros.firstChild);
               }
               var data = trim(form.data_inicio.value);
               form.data_inicio.value=data;
               if(!verificaData(data)){
                   submit = false;
                   var err = document.createElement("div");
                   err.setAttribute("id", "err");
                   err.setAttribute("name", "err");
                   err.setAttribute("class", "erro");
                   err.innerHTML = "Data fornecida é inválida";
                   erros.appendChild(err);
               }
               if(submit){
                   //form.submit();
                   alert("A Data: "+data+" é válida.");
               }
           }
       </script>
       <form name="form" action="pagina.html">
       	<table>
			<tr>
				<td>Data:</td>
				<td><input type="text" name="data_inicio" value=""
				onkeyup="return formatData(this)" onfocus="return formatData(this)"
				onblur="return formatData(this)"/></td>
			</tr>
		</table>
           <input type="button" value="Buscar" name="buscar" onClick="validar()"/><br>
       </form>
       <div id="erros"></div>
   </body>
</html>

 

É isso aí. Espero que tenham gostado

Se tiverem alguma sugestão me falem.

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.