Является ли строка 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-адресом.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.