JavaScript で入力日付を確認する 2 つの方法

高洛峰
リリース: 2016-11-25 11:02:09
オリジナル
1416 人が閲覧しました

JavaScript コード
/// 入力された日付が正しい日付形式であるかどうかを確認します:
/// 4 つの入力形式をサポートします: yyyy-M-d、yyyy-MM-dd、yyyy/M/d、yyyy/MM/dd。

function checkDate(strInputDate) {
//月の日の定数配列を定義します
var DA = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];

// 統一された日付形式
strDate = strInputDate.replace(/-/g, "/");

// 日付が予期された形式であるかどうかを判断します
if (strDate.indexOf("/") == -1) {
alert("yyyy-M-d、yyyy-MM-dd、yyyy/M/d、yyyy/MM/ddの形式を入力してください。")
return false;
}

// 分解年、月、日
arrD = strDate.split("/");
if (arrD.length != 3) return false;
y = parseInt(arrD[0], 10);
m = parseInt(arrD [1], 10);
d = parseInt(arrD[2], 10);

//年、月、日が数字かどうか判定
if (isNaN(y) || isNaN(m) || isNaN (d)) return false;

//月が1-12の間か判定
if (m > 12 || m //閏年か判定
if ( isLoop Year(y)) DA[2] = 29;

/ /入力された日が当月の合計日数を超えているかどうかを判断します。
if (d > DA[m]) return false;

//すべての条件が検証された場合、それは有効な日付であるはずです。
// 日付を一度フォーマットしたい場合は、ここで行うことができます。次の例では、データベース yyyy-MM-dd で認識される日付フォーマットにフォーマットします。 // str = y + "-" + (m str = y + "-" + (m alert(str)
return true;
}
function isLoop Year(the Year) {
return (new Date(the Year) , 1 , 29).getDate() == 29);
}

//方法 2:

/// 入力された日付が正しい日付形式であるかどうかを確認します:
/// yyyy-M-d、yyyy-MM をサポート- 入力形式は dd、yyyy/M/d、yyyy/MM/dd の 4 つです。
function CheckDate2(strInputDate) {
if (strInputDate == "") return false;
strInputDate = strInputDate.replace(/-/g, "/");
var d = new Date(strInputDate);
if (isNaN (d)) return false;
var arr = strInputDate.split("/");
return ((parseInt(arr[0], 10) == d.getFullyear()) && (parseInt(arr[1], 10) == (d.getMonth() + 1)) && (parseInt(arr[2], 10) == d.getDate()));
}


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート