我有一个检查日期范围的 javascript 函数。有没有办法检查用户是否在文本框中输入了有效日期,无论格式如何?
function checkEnteredDate() {
var inputDate = document.getElementById('txtDate');
//if statement to check for valid date
var formatDate = new Date(inputDate.value);
if (formatDate > TodayDate) {
alert("You cannot select a date later than today.");
inputDate.value = TodayDate.format("MM/dd/yyyy");
}
}
最佳答案
看看这个库 date.js http://code.google.com/p/jqueryjs/source/browse/trunk/plugins/methods/date.js
它有一个名为 fromString 的有用函数,它会尝试将字符串(基于 Date.format)转换为有效的日期对象。
如果函数没有创建有效的日期对象,它会返回 false - 如果全部返回 false,您可以在放弃之前尝试不同的格式。
以下是您可以测试的一些示例格式:
Date.format = 'dd mmm yyyy';
alert(Date.fromString("26 Jun 2009"));
Date.format = 'mmm dd yyyy';
alert(Date.fromString("Jun 26 2009"));
Date.format = 'dd/mm/yy';
alert(Date.fromString("26/06/09"));
Date.format = 'mm/dd/yy';
alert(Date.fromString("06/26/09"));
Date.format = 'yyyy-mm-dd';
alert(Date.fromString("2009-06-26"));
乔希
关于.net - 如何检查用户是否在 javascript 中传递了有效日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1074149/