Является ли строка IP-адресом на C#
Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать как можно проверить является ли строка ip-адресом на C#.
Рассмотрим несколько способов:
1. Используя метод TryParse класса IPAddress:
using System;
using System.Net;
namespace TestConsoleApp1
{
class Program
{
static void Main(string[] args)
{
if (IsIPAddress("192.143.123.61"))
{
Console.WriteLine("IP-адрес является корректным!");
}
else
{
Console.WriteLine("Неверный формат ip-адреса!");
}
Console.ReadLine();
}
// Метод проверки ip-адреса
private static bool IsIPAddress(string ipAddress)
{
bool isIPAddres = false;
try
{
IPAddress address;
// Определяем является ли строка ip-адресом
isIPAddres = IPAddress.TryParse(ipAddress, out address);
}
catch (Exception e) { }
return isIPAddres;
}
}
}
2. Используя свойство AddressFamily (семейство адресов для IP-адреса). Не забываем добавить using System.Net.Sockets;.
private static bool IsIPAddress2(string ipAddress)
{
IPAddress address;
bool isIPAddres = false;
if (IPAddress.TryParse(ipAddress, out address))
{
if (address.AddressFamily == AddressFamily.InterNetwork)
{
isIPAddres = true;
}
}
return isIPAddres;
}
3. Используя регулярные выражения. Не забываем добавить using System.Text.RegularExpressions;.
private static bool IsIPAddress3(string ipAddress)
{
bool isIPAddres = false;
Match match = Regex.Match(ipAddress, @"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b");
if (match.Success)
{
isIPAddres = true;
}
return isIPAddres;
}
В данной статье мы рассмотрели несколько способов проверки на то, является ли строка корректным IP-адресом.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.




