Javascript にて誕生日(生年月日)から年齢を計算する

javascript_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

Javascript で今日の時点で年齢(何歳)を求めるプログラム

入力された生年月日から成人しているかを判定する必要があったため作成した Javascript のプログラムです。簡単なロジックであるため、jQuery などのライブラリも不要なので、コピー&ペーストで直ぐに使えます。

 

サンプルプログラムについて

Date クラスを作成して年齢を算出しています。

使用している Javascript の Date クラスについて使い方の詳細を知りたい人は、Firefox の開発元である Mozilla が用意した解説ページへのリンクを貼っておきますので、そちらを確認して下さい。

〇Mozilla の Date クラスに関する解説ページ
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date

サンプルプログラム

<script type="text/javascript" language="javascript">
/**
 * 生年月日から年齢を取得する
 *
 * year:誕生年
 * month:誕生月
 * day:誕生日
 * 返り値:現時点における年齢
 *         引き数が無効な値の場合は、返り値は「null」となる
 */
function getUserAge( year, month, day ) {
  //誕生日を一旦 Date クラスに変換する
  var birthdayDate = new Date(year, month - 1, day);

  //Date クラスは不正の値で初期化したとき、初期化に利用した数値と同じ数値にならないので、そこで正しい数値であるかを判定する
  if( year != birthdayDate.getFullYear() ||
      (month - 1) != birthdayDate.getMonth() ||
      day != birthdayDate.getDate() ) {
    return null;
  }

  //今日の日付けを取得する
  var todayDate = new Date();

  //誕生日を計算する
  var userAge = todayDate.getFullYear() - birthdayDate.getFullYear();

  //誕生日が当年込みの計算のため、もし今年の誕生日を迎えていない場合は1歳年齢を減らす
  var currentYearDate = new Date(todayDate.getFullYear(), birthdayDate.getMonth(), birthdayDate.getDate());
  if(currentYearDate > todayDate) {
    userAge = ( userAge - 1 );
  }

  return userAge;
}
</script>

 

 

ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。

created by Rinker
徳丸 浩(著)
ページ数: 688ページ
出版社:SBクリエイティブ
発売日:2018/06/21

出典:amazon