yymmdd形式かどうか調べる


動作ブラウザ 【 IE:4.0   NN:4.0
Internet Explorer Netscape Navigator Opera iCab Safari
3.0x 4.0x 4.5 5.0x 5.5 6.0 2.0x 3.0x 4.0x 4.x 6.0 7.0 7.x 2.x 1.x
Windows × - × × -
Macintosh × - × × ×
UNIX - - - - - × × -

ポイント data = txt.match(/^\d{6}$/); if (!data) { alert("異常です"); return; } mm = eval(data[0].substring(2,4)); dd = eval(data[0].substring(4,6));
説  明 yymmddの年号形式かどうかを調べるには入力された文字列6桁が全て数値かどうかを調べます。正規表現を使えば簡単です。マッチする文字列は\d{6}となります。日付以外の文字を含めない場合は^\d{6}$となります。
サンプル <html> <head> <title>yymmdd形式かどうか調べる</title> <script language="JavaScript"><!-- function check() { txt = document.myFORM.num.value; data = txt.match(/^\d{6}$/); if (!data) { alert("異常です"); return; } mm = eval(data[0].substring(2,4)); dd = eval(data[0].substring(4,6)); if ((mm < 1) || (mm > 12)) { alert("月が異常です"); return; } if ((dd < 1) || (dd > 31)) { alert("日が異常です"); return; } alert("正常です"); } // --></script> </head> <body> <form name="myFORM"> 項 目:<input type="text" size="16" name="num"><br>     <input type="button" value="調べる" onClick="check()"> </form> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA