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

Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010
- - Dernière réponse : djew
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010
- 4 mars 2010 à 14:56
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
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
1
3
Merci
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>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ChasseurDeChimeres
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010
0
Merci
Merci beaucoup je vais commencer avec ça
Commenter la réponse de djew
Messages postés
30
Date d'inscription
vendredi 18 février 2005
Statut
Membre
Dernière intervention
27 octobre 2010
0
Merci
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)';
}
}
Commenter la réponse de djew