AngularJS - 操纵数字

时间:2014-12-04 10:26:17

标签: angularjs input watch

我试图创建一个需要10位数字(丹麦SSN号码)的输入字段,我需要抓住"年份"编号并添加到数字中。

一个数字可以 1255的 90 5487

我需要抓90并添加19,所以1990年等 我只是不确定如何以最好的方式做到这一点

所以在正确的方向上任何帮助都会很好:)

我为它做了一个观察者

        $scope.$watch(function() {
        return $scope.cpr;
    }, function(age) {
        console.log("change detected: " + age);
    });

1 个答案:

答案 0 :(得分:1)

首先,像你一样做观察者:

  $scope.$watch(function (){
    return $scope.cpr;
  },
  function (value){
    var shortYear=parseInt(value.substr(4,2));
    if (shortYear>50)
      $scope.age=1900+shortYear;
    else
      $scope.age=2000+shortYear;
  });

第二种方法,创建将计算它的范围函数:

  $scope.getAge=function (){
    var shortYear=parseInt($scope.cpr.substr(4,2));
    if (shortYear>50)
      return 1900+shortYear;
    else
      return 2000+shortYear;
  }

并使用它:

  <input type="text" ng-model="cpr" />
  age:
  <span>{{getAge()}}</span>