相关疑难解决方法(0)

给定出生日期的年龄,格式为YYYYMMDD

如果出生日期格式为YYYYMMDD,我如何计算年龄?是否可以使用该Date()功能?

我正在寻找比我现在使用的解决方案更好的解决方案:

var dob = '19800810';
var year = Number(dob.substr(0, 4));
var month = Number(dob.substr(4, 2)) - 1;
var day = Number(dob.substr(6, 2));
var today = new Date();
var age = today.getFullYear() - year;
if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {
  age--;
}
alert(age);
Run Code Online (Sandbox Code Playgroud)

javascript date

261
推荐指数
14
解决办法
36万
查看次数

使用日期输入验证角度年龄

我正在尝试使用angular指令验证年龄(即大于18).谁能帮我验证年龄?

<input type="date" data-ng-model="personalDetailsObj.personalDetails.dob"  name="dob" ng-required="true" ng-class="{ 'has-errors' : personalDetailForm.dob.$invalid, 'no-errors' : personalDetailForm.dob.$valid}" age-valid="18">
Run Code Online (Sandbox Code Playgroud)

这是我的指示

.directive('ageValid', ['$filter', function($filter) {
    return {
        restrict: 'A',
        require: 'ngModel',
        scope: {
          ageValid: '='
        },
        link: function(scope, element, attrs) {
          scope.$watch(attrs.ngModel, function(value) {
              var todayDate = new Date(),
                  todayYear = todayDate.getFullYear(),
                  todayMonth = todayDate.getMonth(),
                  todayDay = todayDate.getDate(),
                  dateFieldVal = value;
                  console.log(dateFieldVal);
                  var formattedDate = $filter('date')(dateFieldVal,'yyyy-MM-dd');                  
                  console.log(formattedDate);

              /*var isValid = (value.length === $scope.ngLength);
              ngModel.$setValidity($attrs.ngModel, isValid);*/
          });
        } 
    }
  }])
Run Code Online (Sandbox Code Playgroud)

angularjs

0
推荐指数
1
解决办法
7390
查看次数

标签 统计

angularjs ×1

date ×1

javascript ×1