和暦を西暦に変換したりするJavaScript(とHTML)のコード

 Github Pagesで和暦 西暦 変換のウェブ ページを公開しております。

 グーグル検索エンジンで「github eliphas1810 和暦 西暦」などで検索してみてください。


 平成1年を(西暦)1989年に変換したりなどします。


 (西暦)1990年を平成2年に変換したりなどします。


 2023年3月4日時点の最新のChromeとFirefoxで動作を確認しました。


 コピペする場合は、2文字の全角空白を4文字の半角空白に置換してください。


 JaYearToWesternYear.htmlなどの適当な名前の空の.htmlファイルの内容にコピペしてから、UTF-8という文字コードで保存し、ChromeやFirefoxといったブラウザで.htmlファイルを見ると、利用できます。


JaYearToWesternYear.html

――――――――――――――――――――

<!DOCTYPE html>

<html lang="ja">

  <head>

    <meta charset="UTF-8" />

    <title>和暦 西暦 変換</title>

  </head>

  <body>

    <div>

      <input type="radio" name="jaEra" id="taisho"></input>大正

       

      <input type="radio" name="jaEra" id="showa" checked="checked"></input>昭和

       

      <input type="radio" name="jaEra" id="heisei"></input>平成

       

      <input type="radio" name="jaEra" id="reiwa"></input>令和

       

      <input type="radio" name="jaEra" id="western"></input>西暦

       

      <input type="text" id="year" size="8"></input>年

    </div>


    <div id="message"></div>

    <br />

    <div>

      <button type="button" id="convert">和暦 西暦 変換</button>

    </div>

    <br />

    <div>

      <input type="text" id="jaYear" size="10" readonly="readonly"></input> <button type="button" id="copyJaYear">コピー</button>

    </div>

    <br />

    <div>

      <input type="text" id="westernYear" size="10" readonly="readonly"></input> <button type="button" id="copyWesternYear">コピー</button>

    </div>

    <br />

    <div>

      <input type="text" id="westernYearAndJaYear" size="20" readonly="readonly"></input> <button type="button" id="copyWesternYearAndJaYear">コピー</button>

    </div>


    <script>


function $(id) {

  return document.getElementById(id);

}


$("convert").onclick = function () {


  //エラーメッセージの表示を消去して初期化

  $("message").innerHTML = "";


  $("jaYear").value = "";

  $("westernYear").value = "";

  $("westernYearAndJaYear").value = "";


  var year = $("year").value;


  //年が0文字の場合

  if (year == "") {

    $("message").innerHTML = "数字を年に記入してください。";

    return;

  }


  //年に全角数字が有る場合

  if (year.match(/[0-9]/) != null) {


    //全角数字を半角数字に置換

    year = year.replaceAll(/0/g, "0");

    year = year.replaceAll(/1/g, "1");

    year = year.replaceAll(/2/g, "2");

    year = year.replaceAll(/3/g, "3");

    year = year.replaceAll(/4/g, "4");

    year = year.replaceAll(/5/g, "5");

    year = year.replaceAll(/6/g, "6");

    year = year.replaceAll(/7/g, "7");

    year = year.replaceAll(/8/g, "8");

    year = year.replaceAll(/9/g, "9");


    $("year").value = year;

  }


  //年が1文字以上の(半角)数字ではない場合は、エラーメッセージを表示

  if (year.match(/^[0-9]+$/) == null) {

    $("message").innerHTML = "数字だけを年に記入してください。";

    return;

  }


  year = year - 0; //数字を数値に変換


  if (year <= 0) {

    $("message").innerHTML = "1以上の数を年に記入してください。";

    return;

  }


  //大正の場合

  if ($("taisho").checked) {


    if (15 < year) {

      $("message").innerHTML = "15以下の数を年に記入してください。大正は15年までです。";

      return;

    }


    var jaYear = year;

    var westernYear = 1911 + year;


    $("jaYear").value = "大正" + jaYear + "年";

    $("westernYear").value = westernYear + "年";

    $("westernYearAndJaYear").value = westernYear + "年(大正" + jaYear + "年)";


    return;

  }


  //昭和の場合

  if ($("showa").checked) {


    if (64 < year) {

      $("message").innerHTML = "64以下の数を年に記入してください。昭和は64年までです。";

      return;

    }


    var jaYear = year;

    var westernYear = 1925 + year;


    $("jaYear").value = "昭和" + jaYear + "年";

    $("westernYear").value = westernYear + "年";

    $("westernYearAndJaYear").value = westernYear + "年(昭和" + jaYear + "年)";


    return;

  }


  //平成の場合

  if ($("heisei").checked) {


    if (31 < year) {

      $("message").innerHTML = "31以下の数を年に記入してください。平成は31年までです。";

      return;

    }


    var jaYear = year;

    var westernYear = 1988 + year;


    $("jaYear").value = "平成" + jaYear + "年";

    $("westernYear").value = westernYear + "年";

    $("westernYearAndJaYear").value = westernYear + "年(平成" + jaYear + "年)";


    return;

  }


  //令和の場合

  if ($("reiwa").checked) {


    var jaYear = year;

    var westernYear = 2018 + year;


    $("jaYear").value = "令和" + jaYear + "年";

    $("westernYear").value = westernYear + "年";

    $("westernYearAndJaYear").value = westernYear + "年(令和" + jaYear + "年)";


    return;

  }


  //西暦の場合

  if ($("western").checked) {


    if (year <= 1911) {

     $("message").innerHTML = "1912以上の数を年に記入してください。1911年(明治44年)以前の和暦には非対応です。";

      return;

    }


    //1912年(大正1年)から1925年(大正14年)までの場合

    if (year <= 1925) {


      var jaYear = year - 1911;

      var westernYear = year;


      $("jaYear").value = "大正" + jaYear + "年";

      $("westernYear").value = westernYear + "年";

      $("westernYearAndJaYear").value = westernYear + "年(大正" + jaYear + "年)";


      return;

    }


    //1926年(大正15年または昭和1年)の場合

    if (year == 1926) {


     $("message").innerHTML = "1926年1月1日から12月24日までは大正15年です。1926年12月25日は大正15年でもあり昭和1年でもあります。1926年12月26日から12月31日までは昭和1年です。";


      var westernYear = year;


      $("jaYear").value = "大正15年または昭和1年";

      $("westernYear").value = westernYear + "年";

      $("westernYearAndJaYear").value = westernYear + "年(大正15年または昭和1年)";


      return;

    }


    //1927年(昭和2年)から1988年(昭和63年)までの場合

    if (year <= 1988) {


      var jaYear = year - 1925;

      var westernYear = year;


      $("jaYear").value = "昭和" + jaYear + "年";

      $("westernYear").value = westernYear + "年";

      $("westernYearAndJaYear").value = westernYear + "年(昭和" + jaYear + "年)";


      return;

    }


    //1989年(昭和64年または平成1年)の場合

    if (year == 1989) {


     $("message").innerHTML = "1989年1月1日から1月7日までは昭和64年です。1989年1月8日から12月31日までは平成1年です。";


      var westernYear = year;


      $("jaYear").value = "昭和64年または平成1年";

      $("westernYear").value = westernYear + "年";

      $("westernYearAndJaYear").value = westernYear + "年(昭和64年または平成1年)";


      return;

    }


    //1990年(平成2年)から2018年(平成30年)までの場合

    if (year <= 2018) {


      var jaYear = year - 1988;

      var westernYear = year;


      $("jaYear").value = "平成" + jaYear + "年";

      $("westernYear").value = westernYear + "年";

      $("westernYearAndJaYear").value = westernYear + "年(平成" + jaYear + "年)";


      return;

    }


    //2019年(平成31年または令和1年)の場合

    if (year == 2019) {


     $("message").innerHTML = "2019年1月1日から4月30日までは平成31年です。2019年5月1日から12月31日までは令和1年です。";


      var westernYear = year;


      $("jaYear").value = "平成31年または令和1年";

      $("westernYear").value = westernYear + "年";

      $("westernYearAndJaYear").value = westernYear + "年(平成31年または令和1年)";


      return;

    }


    //2020年(令和2年)以降の場合


    var jaYear = year - 2018;

    var westernYear = year;


    $("jaYear").value = "令和" + jaYear + "年";

    $("westernYear").value = westernYear + "年";

    $("westernYearAndJaYear").value = westernYear + "年(令和" + jaYear + "年)";


    return;

  }

};


$("copyJaYear").onclick = function () {

  navigator.clipboard.writeText($("jaYear").value);

};


$("copyWesternYear").onclick = function () {

  navigator.clipboard.writeText($("westernYear").value);

};


$("copyWesternYearAndJaYear").onclick = function () {

  navigator.clipboard.writeText($("westernYearAndJaYear").value);

};


    </script>

  </body>

</html>

――――――――――――――――――――

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る