【问题标题】:Split gateway and mask in angular input在角度输入中拆分网关和掩码
【发布时间】:2018-06-04 10:16:24
【问题描述】:

我有一个 IP 网关和掩码的输入字段,格式为 __.__.__.__/__。 我想在另一个模型中拆分 / 之后的掩码输入以进行绑定,这样它将是这样的:

{
"Gateway" : "10.20.30.40",
"Mask": "23"
}

如何在 /__ 之后削减价值以获取掩码。 IP 地址设置:

$("#IP").inputmask({ /
    mask: "i[i[i]].i[i[i]].i[i[i]].i[i[i]]/99",
    definitions: {
        'i': {
            validator: function (chrs, buffer, pos, strict, opts) {
                if (pos - 1 > -1 && buffer[pos - 1] != ".") {
                chrs = buffer[pos - 1] + chrs;
                    if (pos - 2 > -1 && buffer[pos - 2] != ".") {
                    chrs = buffer[pos - 2] + chrs;
                        } else chrs = "0" + chrs;
                        } else chrs = "00" + chrs;
                        return new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]").test(chrs);
                        },
                        cardinality: 1
                    }
        }
});

编辑:- 添加了视图和控制器

<div class="input-group sepH_b">    
            <span class="input-group-addon" id="reg_input">Gateway</span>
          <input class="form-control" id="IP" type="text" ng-model="inf.Gateway" required>
</div>

在 Ctrl 中

$scope.master = {};
$scope.addData = function() { 
$scope.master = angular.copy($scope.inf);
};

master{} 是数据绑定的地方。

【问题讨论】:

  • 我在这里看不到任何 angularJS 代码。分享演示代码,我们可以看到您的&lt;form&gt;js 文件
  • @ShashankVivek 我在编辑中添加了视图和 ctrl

标签: angularjs view ip gateway


【解决方案1】:
  1. 不要在 angularJS 中使用 jquery

  2. 为什么不创建一个对其他人更具可读性的不同模型。 Check this plunkr。相应地添加必要的验证。您不需要编写额外的代码来提取mask,任何人都可以根据需要访问port1port2等属性。

如下所示:

  $scope.gateway = {
    port1 : 0,
    port2:  0,
    port3 : 0,
    port4: 0
  };
  $scope.mask = 0

【讨论】:

  • 我不像你说的那样喜欢 jquery 而不是 angular 脚本。我已经使用正则表达式代码解决了它,它将搜索/ 并划分模型。除了我的 JSON 原始身体结构是这样的{ "gateway": "" , "mask":""}
猜你喜欢
  • 2023-01-23
  • 2019-07-12
  • 2020-02-09
  • 1970-01-01
  • 2018-08-13
  • 1970-01-01
  • 2016-03-27
  • 2020-06-14
  • 1970-01-01
相关资源
最近更新 更多