1

Javaスクリプト機能

<script language="JavaScript">

function checkdate(date1){
var validformat=/^\d{2}\/\d{2}\/\d{4} \d{2}\:\d{2}\:\d{2}$/ 
if(!validformat.test(date1.value)){
alert("Invalid Date");
 document.form.date1.value="";
}

}

上記はうまくいっています!しかし、それに応じて月を制限したいと思います。

my format = mm/dd/YYYY hh:mm:ss

月は 12 より大きく 1 より小さく同じであってはならず、日付は 31 より大きく 1 より小さくてはなりません。

もう一つ!

02/02/2013 00:00:00は有効な日付ですが、 2/2/2013 00:00:00は無効な日付として表示されます。

これらの 2 つの状況を制御するにはどうすればよいですか?

4

3 に答える 3

1

次の方法を試すことができます。

var comp = value.split('/');
var d = parseInt(comp[0], 10);
var m = parseInt(comp[1], 10);
var y = parseInt(comp[2], 10);
var date = new Date(y, m - 1, d);
var validDateFormat = false;
if (date.getFullYear() == y && date.getMonth() + 1 == m && date.getDate() == d) {
    validDateFormat = true;
}

validDateFormat が true の場合、日付は有効です。

于 2013-04-12T05:28:44.617 に答える
1

m/d/YYYY hh:mm:ssおよびmm/dd/YYYY hh:mm:ssの DateTime RegEx

/^(0?[1-9]|1[012])\/(0?[1-9]|[12]\d|3[01])\/[12]\d{3} ([01]\d|2[0-3])\:[0-5]\d\:[0-5]\d$/

デモの説明: http://regex101.com/r/bS0gB6

于 2013-04-12T05:29:26.137 に答える
0

数値範囲の正規表現を作成できるこのWebサイトをご覧ください。

そうは言っても、数値演算には正規表現ではなく、使用している言語 (Javascript) によって提供される数値演算子を使用する必要があります。

または、ここに示すように、JQuery で作成された DateTime Picker を使用することもできます。

于 2013-04-12T05:19:38.413 に答える