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

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

Répondre au sujet
ChasseurDeChimeres 292 Messages postés mercredi 7 novembre 2007Date d'inscription 15 janvier 2013 Dernière intervention - 4 mars 2010 à 12:34
+3
Utile
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>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ChasseurDeChimeres
djew 30 Messages postés vendredi 18 février 2005Date d'inscription 27 octobre 2010 Dernière intervention - 4 mars 2010 à 14:07
0
Utile
Merci beaucoup je vais commencer avec ça
Commenter la réponse de djew
djew 30 Messages postés vendredi 18 février 2005Date d'inscription 27 octobre 2010 Dernière intervention - 4 mars 2010 à 14:56
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.