gpt4 book ai didi

ios - 如何使用正则表达式检查私有(private)/本地 IP 地址

转载 作者:行者123 更新时间:2023-12-01 18:09:58 26 4
gpt4 key购买 nike

希望你们都没事。我正在构建一个 IOS 应用程序,如果用户在文本字段中键入私有(private)/本地 IP 地址,我会在该应用程序中警告用户。
我在互联网上搜索并发现它是在 Android 应用程序中使用正则表达式完成的:
Java: (127.0.0.1)|(192.168.$) | (172.1[6-9].$) | (172.2[0-9].$) | (172.3[0-1].$) | (10.*$)

我想要 IOS 应用程序使用相同的正则表达式,但我不知道如何编码。
我在网上搜索并发现
Private IP Address Identifier in Regular Expression
但我无法理解。我只知道一些objective-c。有人可以在这方面帮助我吗?

好吧,伙计们,最后我想我已经通过以下代码解决了这个问题。

-(void)CheckIP
{
NSError *error = NULL;
NSString *pattern = @"(127.0.0.1)|(192.168.$)|(172.1[6-9].$)|(172.2[0-9].$)|(172.3[0-1].$)|(10.*$)"; // "[a-zA-Z]+[,]\\s*([A-Z]{2})";
NSString *string = self.tfExternalHost.text;
NSRange range = NSMakeRange(0, string.length);
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error];
NSArray *matches = [regex matchesInString:string options:NSMatchingProgress range:range];
NSLog(@" Found Match %@", matches);
}


建议我是否可以改进上述代码。

最佳答案

我已经解决了这个问题。

-(BOOL)CheckIPAddress
{
// this code is to check either user entered local/private ip-address
NSError *error = NULL;
NSString *pattern = @"((127\.)|(10\.)|(172\.1[6-9]\.)|(172\.2[0-9]\.)|(172\.3[0-1]\.)|(192\.168\.))";
NSString *string = self.tfExternalHost.text;
NSRange range = NSMakeRange(0, string.length);
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error];
NSArray *matches = [regex matchesInString:string options:NSMatchingProgress range:range];
if (matches.count>0) {
UIAlertView *simpleAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Warning", nil) message:NSLocalizedString(@"Please provide valid external IP address.", nil) delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[simpleAlert show];
return true;
}
return false;
}

关于ios - 如何使用正则表达式检查私有(private)/本地 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33560048/

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