Calcul de l'age a partir d'un input text [Résolu]

Signaler
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010
-
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010
-
Salut à tous,
n'étant pas un spécialiste en javascript, j'implore votre aide
j'aimerais afficher l'age de la personne à coté de l'input text qui réceptionne la date de naissance au format xx/xx/xxxx de cet façon :

<script type="text/javascript">print (age+" ans")</script>

J'espere que vous comprenez le principe.
HELPPPP !
Merci
A voir également:

3 réponses

Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
1
Salut;
Tout d'abord en javascrip, la fonction "print" sert à lancer une impression papier via l'imprimante, dans ce cas à on utilisera la fonction innerHTML, ensuite je t'ai fait une petite base, mais comme tu peux le voir elle ne tiens pas comte du mois de naissance seulement de l'année, à toi d'imaginer la suite. Sinon je verrais plutôt 3 champs différent (jour/mois/année) ce qui eviterait les problèmes du au utilisateurs qui rentrerais des "-" à la place de "/" ou ceux qui rentrerait la date au format anglais. Sinon quelque verification (genre l'année rentrée est bien passée, le mois n'est pas supérieur à 12 etc...)
bon dev.

<html>

<script type="text/javascript">
function affichAge(date) {
var curr_year = new Date();
var tab_date = date.split("/");
var birth_year = tab_date[2];
document.getElementById('age').innerHTML = 'ans : '+ (curr_year.getFullYear() - birth_year);
}
</script>




</html>
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010

Merci beaucoup je vais commencer avec ça
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010

J'ai un peu affiné au mois près avec test date au format xx/xx/xxxx :

function affichAge(date)
{
var isdate = new RegExp("^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$","g");
if (isdate.test(date))
{
var curr_date = new Date();
var tab_date = date.split("/");
var birth_year = tab_date[2];
var birth_month = tab_date[1];
var lage = 0;

lage = curr_date.getFullYear() - birth_year;

if (birth_month >= curr_date.getMonth()+1)
{
lage--;
}
document.getElementById('age').innerHTML = '('+lage+' ans)';
}
}