gpt4 book ai didi

javascript - 与 IP 地址匹配的动态 AngularJS 验证,但最后一个八位字节在特定范围内

转载 作者:行者123 更新时间:2023-12-01 03:52:35 24 4
gpt4 key购买 nike

在我们的应用程序中,DHCP 范围随数据一起出现。假设它是 5.5.5.5。用户可以在应用程序的此区域中输入 IP 地址,但输入的 IP 必须与 DHCP 范围相同,但最后一个八位字节可以不同,并且必须在 2 到 254 之间。

因此,对于上面的 DHCP 范围,用户可以输入 5.5.5.2 到 5.5.5.254 之间的 IP。

我创建了一个 JSFiddle,它包含除了我需要的 ng-pattern 之外的所有内容,这就是我需要的帮助:https://jsfiddle.net/spaceninja/6yz09y61/

我认为我需要的是一个正则表达式模式,它采用原始 IP 地址并将其用作模式,但最后一个八位字节必须在 2-254 的范围内,例如:

$scope.regex = /[5][.][5][.][5][.][2-254]/g;

除了上面的[5]来自数据中的八位字节,即原始的5.5.5.5,但它可以是来自数据的任何有效IP。 (我知道上面示例中的 [2-254] 不正确,但我仍在学习正则表达式)。所以它看起来可能像这样?

var originalIP = "192.168.2.3";
var parts = ip.split('.');
var octet1 = parts[0];
var octet2 = parts[1];
var octet3 = parts[2];
var octet4 = parts[3];

然后,如果您可以以某种方式在正则表达式中使用变量,则模式可能是:

$scope.regex = /[octet1][.][octet2][.][octet3][.][2-254]/g;

我认为您不能使用这样的变量,但我希望它能解释我的需要。

最佳答案

这是您的解决方案

如果您需要任何更改,请告诉我

var myapp = angular.module('myApp', [])
.controller('fiddleCtrl', ['$scope', function($scope) {

$scope.dhcp = "192.168.1.1"; // This will come in from the data


$scope.regex = "^(" +$scope.dhcp.split('.').slice(0,3).join('.') + "." +")([2-9]|([1-9][0-9])|([1][0-9][0-9])|([2][0-5][0-4]))$";


}]);

https://jsfiddle.net/6yz09y61/5/

关于javascript - 与 IP 地址匹配的动态 AngularJS 验证,但最后一个八位字节在特定范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43053636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com