Ir para conteúdo

POWERED BY:

Arquivado

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

Anderson007

[Resolvido] Cálculo de Idade

Recommended Posts

Alguém sabe de algum SCRIPT para calcular a IDADE?

 

Desde que rode em qualquer navegador e seja da seguinte maneira: digita a data de nascimento num INPUT, dá um TAB e a IDADE é retornada a um outro INPUT.

 

Procurei muito e não encontrei nada razoável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como posso implementar esse script para CALCULAR IDADE abaixo dando um TAB no primeiro INPUT?

 

<script language="javascript">
//calcular a idade de uma pessoa
//recebe a data como um string em formato portugues
//devolve um inteiro com a idade. Devolve false em caso de que a data seja incorreta ou maior que o dia atual
function calcular_idade(data){
	//calculo a data de hoje
	hoje=new Date()
	//alert(hoje)
	//calculo a data que recebo
	//descomponho a data em um array
	var array_data = data.split("/")
	//se o array nao tem tres partes, a data eh incorreta
	if (array_data.length!=3)
	   return false
	//comprovo que o ano, mes, dia são corretos
	var ano
	ano = parseInt(array_data[2]);
	if (isNaN(ano))
	   return false
	var mes
	mes = parseInt(array_data[1]);
	if (isNaN(mes))
	   return false
	var dia
	dia = parseInt(array_data[0]);
	if (isNaN(dia))
	   return false
	//se o ano da data que recebo so tem 2 cifras temos que muda-lo a 4
	if (ano<=99)
	   ano +=1900
	//subtraio os anos das duas datas
	edad=hoje.getYear()- ano - 1; //-1 porque ainda nao fez anos durante este ano
	//se subtraio os meses e for menor que 0 entao nao cumpriu anos. Se for maior sim ja cumpriu
	if (hoy.getMonth() + 1 - mes < 0) //+ 1 porque os meses comecam em 0
	   return idade
	if (hoje.getMonth() + 1 - mes > 0)
	   return idade+1
	//entao eh porque sao iguais. Vejo os dias
	//se subtraio os dias e der menor que 0 entao nao cumpriu anos. Se der maior ou igual sim que já cumpriu
	if (hoje.getUTCDate() - dia >= 0) {
	   return idade + 1
	return idade
} 
</script>
<body>
Data Nascimento: <input type="text" ID="data" onBlur="calcular_idade(this)">
 <br>
 Idade: <input type="text" readonly ID="txtIdade">
 <br><br>
</body>
</html>

A fonte é http://www.criarweb.com/artigos/820.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao acostuma nao hein rssss

 

<script>
function calcula_idade(data){
var array_data = data.split("/")
var ano = eval(array_data[2]);
var mes = eval(array_data[1]);
var dia = eval(array_data[0]);
var data = new Date(ano, mes-1, dia);
var data_atual=new Date();
var decimal = 0;

unidade=1000*60*60*24*30*12;
decimal=(decimal<=0)? 1 : decimal*10;

yearspast=data_atual.getFullYear()-ano-1;
valid=(data_atual.getMonth()>mes-1 || data_atual.getMonth()+1==mes || data_atual.getMonth()==mes-1 && data_atual.getDate()>=dia)? 1 : 0

data.setFullYear(data_atual.getFullYear())
data2=new Date(data_atual.getFullYear()-1, mes-1, dia)
valid=(valid==1)? valid+Math.floor((data_atual.getTime()-data.getTime())/(unidade)*decimal)/decimal : Math.floor((data_atual.getTime()-data2.getTime())/(unidade)*decimal)/decimal

document.getElementById("txtIdade").value = yearspast+valid;
}
</script>


<body>
Data Nascimento: <input type="text" ID="data" onBlur="calcula_idade(this.value)">
<br>
Idade: <input type="text" readonly ID="txtIdade">
<br><br>
</body>
</html>

adaptado de http://www.javascriptkit.com/script/script...culateage.shtml

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grato Andreia.

 

Fique tranquila, não vou acostumar não. Pelo menos vou tentar, rsrsrs.

 

Beijao, 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.