2

ポートと推奨されるポートについて読んだ後、プライベート ポートに関する Internet Assigned Numbers Authority (IANA) の推奨事項に準拠するには、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])$";

よろしく!

4

4 に答える 4

11

正規表現を使用する理由

string input = "51204";
int portNumber;
if (int.TryParse(input, out portNumber) 
    && portNumber >= 49152 
    && portNumber <= 65535)
{
    // Valid value...
}
于 2013-03-29T14:29:52.873 に答える
0
        int port;
        bool InRange = Int32.TryParse(StrPort, out port) && port >= 49152 && port <= 65535;
于 2013-03-29T14:29:59.833 に答える
0

int.TryParse()を使用してから、代わりに結果の整数を境界に検証します。

于 2013-03-29T14:30:35.010 に答える
0

これはあなたの質問に対する答えではないかもしれませんが、次のものを使用できます。

int port = Convert.ToInt32(input);
if (port >= 49152 && port <= 65535) {
  //port is valid
}
于 2013-03-29T14:34:43.427 に答える