Calcul de l'age a partir d'un input text

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

3 réponses

ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
4 mars 2010 à 12:34
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>
3
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:07
Merci beaucoup je vais commencer avec ça
0
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
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)';
}
}
0