我有三个下拉字段,分别为"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

07-24 09:49
查看更多