Skip to main content
 首页 » 编程设计

C# 正则表达式端口验证 49152 到 65535

2024年01月24日28leader

在阅读了有关端口和建议端口的信息后,我发现要遵守互联网编号分配机构 (IANA) 对私有(private)端口的建议,您应该只使用从 49152 到 65535 的端口。因此,我尝试使用正则表达式模式来检查用户已进入该范围内的端口。我非常头疼地把它拼凑起来,我不得不阅读很多教程才能做到这一点正则表达式模式真的不是人类友好的。基本上我正在寻找比我知识更多的人来验证它是否正确。我的测试似乎表明了这一点,但也许我遗漏了一些我只是想确定的东西。

string pattern = @"^(6553[0-5]|655[0-2]\d|65[0-4]\d\d|6[0-4]\d{3}|5\d{4}|49[2-9]\d\d|491[6-9]\d|4915[2-9])$"; 

问候!

请您参考如下方法:

为什么要使用正则表达式?

string input = "51204"; 
int portNumber; 
if (int.TryParse(input, out portNumber)  
    && portNumber >= 49152  
    && portNumber <= 65535) 
{ 
    // Valid value... 
}