入力された日付が正しいか判定
原案:平井 公大 氏 (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>