Ir para conteúdo

POWERED BY:

Arquivado

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

thiago_php

validar idade digitando a data de nascimento

Recommended Posts

pessoal tive tentando fazer um script para validar a idade da pessoa se é maior de 19 anos e menor de 99, so que o problema é que tenho que digitar a data de nascimento da pessoa ai ele calcula.

Se fosse digitar a idade da pessoa beleza mas tem que digitar a data de nascimento se alguem puder ajudar ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao fiz assim so que tá dando erro

eu digito a data 1º vez ai ele calcula certo só que se eu apagar a data e digitar outra data ele dá erro nao calcula.

 

<html>
<head>
<title>
</title>

<script>

function idade( data )
{
data = document.form.txtData.value;

data = data.split("/");
dia = data[0]; 
mês = data[1];
ano = data[2];

anoAtual = new Date();

ano = parseInt( ano );
anoAtual = parseInt( anoAtual.getYear());

idade = ( anoAtual - ano );
document.form.txtIdade.value = idade; 
}

</script>

</head>

<body>

<form name="form">

<input type="text" name="txtData" value="" ><br>
<input type="text" name="txtIdade" value=""><br>

<input type="button" value="validar" onclick="idade();">

</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não recomendaria fazer isso em JavaScript, pois bastaria o usuário alterar a hora do seu sistema e burlar todo o funcionamento do código.

Você talvez perguntaria:

Mas o usuário iria perder tempo fazendo isso... e além do mais... por qual motivo ele faria isso? E outra... poucos saberão como burlar o sistema!

 

Tenho de admitir que essas seriam ótimas perguntas! Entretanto, os desenvolvedores devem pensar em tudo, acima de tudo na consistência e confiabilidade do código.

 

Por isso, sugiro você a comparar a data de nascimento com a data do servidor, e não com a data que está na máquina do usuário.

 

E você talvez perguntaria novamente:

- Ah, klonder, para de enrolar! O que você sugere então?

 

Resposta:

Utilize linguagem server-side para isso, nem que seja apenas para jogar a data do servidor em um campo de texto antes de carregar a página.

Converta o formato da data para Timestamp, pois isso facilita muito os cálculos. Em PHP é muito fácil de fazer.

 

Deseja prosseguir com JavaScript ou gostaria de tentar em PHP? Se quiser em PHP, irei mover o tópico. Se quiser permanecer com JS, eu ou alguém poderemos tentar explicar melhor.

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.