我有三个下拉字段,分别为"Day"
,"Month"
和"Year"
。我发现有很多方法可以从下拉列表中检查所选值是否是angularjs中的有效日期。
这是填充到三个下拉字段中的数据。
var numberOfYears = (new Date()).getYear() - 10;
var years = $.map($(Array(numberOfYears)), function (val, i) { return i + 1900; });
var months = $.map($(Array(12)), function (val, i) { return i + 1; });
var days = $.map($(Array(31)), function (val, i) { return i + 1; });
$scope.Years = years;
$scope.Days = days;
$scope.Months = months;
请让我知道如何在AngularJS中检查日期是否有效
最佳答案
在每个下拉onchange事件中,您都可以检查日期是否有效
function ValidateDate() {
if (!isDate($('#dateid').val() + '/' + $('#monthid').val() + '/' + $('#yearid').val())) {
alert('Date is not valid');
}
}
//format(dd/MM/yyyy)
function isDate(value) {
var re = /^(?=\d)(?:(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:\x20|$))|(?:2[0-8]|1\d|0?[1-9]))([-.\/])(?:1[012]|0?[1-9])\1(?:1[6-9]|[2-9]\d)?\d\d(?:(?=\x20\d)\x20|$))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
var flag = re.test(value);
return flag;
}
有关检查有效日期的更多信息,请遵循validate date in JQuery