Hallo
Wie kann ich eine IP-Adresse auf ihre Richtigkeit mit regulären Ausdrücken überprüfen - wie geht das Suchmuster?
Das Beispiel auf php.net ist für mich nicht gerade optimal:
Es prüft zwar schon auf zahlen.zahlen.zahlen.zahlen aber da ja bekanntlich nichts über 255.255.255.255 (0) mehr geht und dieses Beispiel auch 346.256.. etc zulässt find ich es nicht gerade nützlich.
Kann mir jemand ein Suchmuster schreiben, welches zwar 3 zahlen vor dem punkt zulässt, diese aber als Gesamtzahl nicht 255 übersteigt? vor allem ist es wichtig das vor jedem punkt mind. eine Ziffer stehen muss, aber nicht unbedingt drei Ziffern (Gibt ja ips mit 17.102.23.0).
Ich wäre sehr dankbar, denn ich verstehe die Regeln bei den regex'es in php nicht.
gruss
ana
Wie kann ich eine IP-Adresse auf ihre Richtigkeit mit regulären Ausdrücken überprüfen - wie geht das Suchmuster?
Das Beispiel auf php.net ist für mich nicht gerade optimal:
PHP:
$num="([0-9]|[0-9]{2}|1\d\d|2[0-4]\d|25[0-5])";
$test="127.0.0.112 10.0.0.2";
preg_match_all("/$num\\.$num\\.$num\\.$num/",$test,$match);
print_r($match);
Es prüft zwar schon auf zahlen.zahlen.zahlen.zahlen aber da ja bekanntlich nichts über 255.255.255.255 (0) mehr geht und dieses Beispiel auch 346.256.. etc zulässt find ich es nicht gerade nützlich.
Kann mir jemand ein Suchmuster schreiben, welches zwar 3 zahlen vor dem punkt zulässt, diese aber als Gesamtzahl nicht 255 übersteigt? vor allem ist es wichtig das vor jedem punkt mind. eine Ziffer stehen muss, aber nicht unbedingt drei Ziffern (Gibt ja ips mit 17.102.23.0).
Ich wäre sehr dankbar, denn ich verstehe die Regeln bei den regex'es in php nicht.
gruss
ana