Ověření IP adresy   zodpovězená otázka

VB.NET, Regulární výrazy, .NET

Potřeboval bych ověřit, jestli uživatel zadal do TextBoxu reálnou IP adresu. Původně jsem to chtěl udělat přes regulární výraz:^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$

Jenže pro něj je platné např. i: 092.399.292.256

a to moc reálná IP adresa není. Nevíte někdo, jak na to? Buď přes ten reg. výraz, nebo nějak jinak... Potřebuji akorát, aby to vracelo (je ip adresa:) true/false

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jsem to ale blbec, stačilo trochu jinak formulovat dotaz na google...

Správný výraz by měl být:

Dim IsIp = System.Text.RegularExpressions.Regex.IsMatch("123.255.0.7", "\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b")

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Udělal jsem obecně dobrou zkušenost s funcí TryParse, kterou má spousta tříd, počínaje Integer, Decimal apod. a konče třeba třídou System.Net.IPAddress

Public Shared Function TryParse(ByVal ipString As String, ByRef address As System.Net.IPAddress) As Boolean

testnete si to v IF podmínce a nemusíte nic programovat. Když je to True, tak už máte přímo v proměnné address IP adresu k dalšímu použití a když False, tak víte, že řetězec adresy nebyl syntakticky správný.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback