C# – Como validar um IPv4

CSharp

Vamos falar sobre validação de IPv4. O C# já possui um método para esta validação o IPAddress.TryParse. Este método verifica se o valor fornecido pode ser convertido em um endereço IPv4.

Vejamos um exemplo:

 
IPAddress address;
return IPAddress.TryParse(ipv4, out address);

Entretando este método verifica apenas se o valor fornecido pode ser convertido para um endereço IP. Se for fornecido por exemplo o valor “1” será então considerado “0.0.0.1”, retornando assim uma análise inválida.

Você pode implementar um método mais completo como no seguinte exemplo:

public static bool IPv4(string ipv4)
{
   if (string.IsNullOrWhiteSpace(ipv4)) return false;

   string[] splitValues = ipv4.Split('.');
   if (splitValues.Length != 4) return false;

   IPAddress address;
   return IPAddress.TryParse(ipv4, out address);
}

Neste exemplo verificamos se a string não é nula ou contém espaços para evitar a exceção, verificamos se contém os 3 pontos e os 4 blocos de informação separados pelos pontos e, em seguida, fazemos a validação com IPAddress.TryParse.

Note que este exemplo é válido para a validação do IPv4.

Existem outras alternativas para validação do IPv4 e este é um bom ponto de partida.