Hi,
Ich will überprüfen, ob eine Variable eine gültige URL ist und keine bösen Zeichen enthält. Der Ausdruck soll ziemlich tolerant sein
und genau in dieser Toleranz liegt wohl das Problem.
www.test.de
test.de
Hast du einen Deal mit der Stiftung Warentest?
Davon abgesehen: Hinsichtlich der Mustererkennung sind diese beiden Ausdrücke, auch wenn sie unterschideliche URLs benennen, eigentlich gleichwertig: Eine oder mehrere Gruppen aus Buchstaben und Ziffern, die durch Punkte getrennt sind.
Ich persönlich würde aber zumindest das Protokoll-Präfx als Muss-Angabe fordern.
http://www.test.co.uk
http://test.co.uk
test.co.uk
www.test.co.uk
https://www.test.co.uk
https://test.co.uk
Dasselbe in grün.
sollen mindestens möglich sein, ich habe sicher die eine oder andere gültige Url vergessen. Gibt es da was?
Ja - was ist mit ftp-Adressen? Was ist mit http://localhost/ oder ftp://174.37.27.164/ oder https://localhost?blau=48&gruen=4 und ähnlichen Konstrukten?
Letzten Endes leuchtet mir nicht ein, warum du eine URL formal auf Gültigkeit überprüfen möchtest. Im konkreten Fall kommt es doch drauf an, dass die dadurch referenzierte Ressource erreichbar ist. _Das_ solltest du vielleicht einfach prüfen, anstatt irgendwelchen Schemata anzuwenden.
So long,
Martin
Computer lösen für uns Probleme, die wir ohne sie gar nicht hätten.