フォーラム@nifty | フォーラム・サークル | サイトマップ | ヘルプ |
掲示板 コラム お役立ち イベント リンク   | FHPGサイトマップ | お問い合わせ |
TOP > お役立ち > JavaScriptのおもちゃ箱 > 入力された日付が正しいか判定  

入力された日付が正しいか判定

原案:平井 公大 氏 (2000/09/24 登録)

 フォームに入力された日付が yy/mm/dd (例:00/09/23)形式になっていて、誤りがないかどうかを判定します(閏年は考慮していません)。試しに適当な文字か yy/mm/dd 形式で日付を入れてボタンをクリックしてみてください。正しく入力されていれば日付を表示します。

表示サンプル

ソース記述内容

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<title>入力された日付が正しいか判定</title>
<script type="text/javascript">
<!--

function chkstr(str) {
  var reg = new RegExp("^[0-9]{2}\/[0-1][0-9]\/[0-3][0-9]$")
  var arr = reg.exec(str)
  if (arr) {
    var yy = str.substring(0,2);
    var mm = str.substring(3,5);
    var dd = str.substring(6,8);
  } else {
     return false;
  }
  if ( yy>=0 ) {
   if ( mm==2 ) {
    if ( dd<=28 ) return true; else return false;
   } else if ((mm==4)||(mm==6)||(mm==9)||(mm==11)) {
    if ( dd<=30 ) return true; else return false;
   } else if((mm==1)||(mm==3)||(mm==5)||(mm==7)||(mm==8)||(mm==10)||(mm==12)) {
    if ( dd<=31 ) return true; else return false;
   } else  return false;
  }
}

function chk(ss) {
if ( chkstr(ss) ) {
      alert(ss);                // 正しい時の処理
  } else {
      alert("誤りがあります");  // 間違いの時の処理
  }
}

// -->
</script>
</head>
<body>
<div style="text-align:center"> 
  <form name="fm">
    <input type="text" name="nm">
    <input name="button" type="button" onClick="chk(this.form.nm.value)" value="Check!">
  </form>
</div>
</body>
</html>
個人情報保護ポリシー
Copyright© NIFTY 2006 All Rights Reserved.
Copyright© FHPG 2006 All Rights Reserved.