正常な日付かチェック
正常な日付かどうかをチェックします。
デモ
デモでは、2014年1月23日と2014年23月1日の日付をチェックします。
関数定義
/**
* 正常な日付かチェック
* @param {number} year 年
* @param {number} month 月
* @param {number} day 日
* @return {boolean} 戻り値は正常な日付の場合はtrue、無効な日付はfalseを返す
*/
var checkDate = function(year, month, day) {
if (!year || !month || !day) return false;
if (!String(year).match(/^[0-9]{4}$/) || !String(month).match(/^[0-9]{1,2}$/) || !String(day).match(/^[0-9]{1,2}$/)) return false;
var dateObj = new Date(year, month - 1, day),
dateObjStr = dateObj.getFullYear() + '' + (dateObj.getMonth() + 1) + '' + dateObj.getDate(),
checkDateStr = year + '' + month + '' + day;
if (dateObjStr === checkDateStr) return true;
return false;
};
使い方
引数
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 必須 |
year | number | チェックする年 |
第二引数 必須 |
month | number | チェックする月 |
第二引数 必須 |
day | number | チェックする日 |
戻り値
戻り値は正常な日付の場合はtrue、無効な日付はfalseを返します。
サンプルコード
JavaScript
var checkResult1 = checkDate(2014, 1, 23),
checkResult2 = checkDate(2014, 1, 32);
alert(checkResult1); // true
alert(checkResult2); // false