Richard: URL-Verifizierung

Hallo,

Um eine Benutzereingabe auf einen gültigen URL zu prüfen, sind reguläre Ausdrücke am populärsten. Allerdings soll es ja mehrere Seiten umfassende regexps dafür geben, um wirklich alle Möglichkeiten mit Unterverzeichnissen, Parametern etc. abzudecken. Aber dieser Aufwand lohnt sich für mich nicht.

'/(http://)?.+..+/' ist aber schonwieder zu brav. Welche Alternativen sind denn heute üblich? Wie wurde das Problem bei diesem Forum gelöst?

Beste Grüße
Richard

  1. Hi,

    Um eine Benutzereingabe auf einen gültigen URL zu prüfen, sind reguläre Ausdrücke am populärsten. Allerdings soll es ja mehrere Seiten umfassende regexps dafür geben, um wirklich alle Möglichkeiten mit Unterverzeichnissen, Parametern etc. abzudecken. Aber dieser Aufwand lohnt sich für mich nicht.

    Copy & Paste ist für Dich zu viel Aufwand?

    Es gibt exakt *eine* Regular Expression, die URLs korrekt verifizieren kann. Alles andere sind entweder Varianten, Subsets oder Fehler.

    '/(http://)?.+..+/' ist aber schonwieder zu brav.

    Und zu falsch. Viel zu falsch.

    Welche Alternativen sind denn heute üblich?

    Entweder richtig prüfen oder gar nicht prüfen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Cheatah,

      Copy & Paste ist für Dich zu viel Aufwand?

      Ich kann mir nicht vorstellen, dass in allen Gästebüchern, Foren etc. dieser Welt dieser Ausdruck steht. Wenn die Eingabe dann doch nicht 100%ig korrekt ist, entsteht eben ein toter Link. Who cares, man könnte ja genauso einen völlig korrekten URL angeben, hinter dem trotzdem nichts ist. Da nützt der beste reguläre Ausdruck nichts.

      Es gibt exakt *eine* Regular Expression, die URLs korrekt verifizieren kann. Alles andere sind entweder Varianten, Subsets oder Fehler.

      '/(http://)?.+..+/' ist aber schonwieder zu brav.

      Und zu falsch. Viel zu falsch.

      Da er zu brav ist, also zu viel durchgehen lässt, ist er falsch, logisch.

      Welche Alternativen sind denn heute üblich?

      Entweder richtig prüfen oder gar nicht prüfen.

      Na gut.

      Beste Grüße
      Richard

      1. Hi,

        Ich kann mir nicht vorstellen, dass in allen Gästebüchern, Foren etc. dieser Welt dieser Ausdruck steht.

        nein, ich auch nicht. Genauso wenig kann ich mir vorstellen, dass alle Websites der Welt validen Code besitzen. Trotzdem ist es falsch, wenn dem nicht so ist. Wen also interessiert unser Mangel an Phantasie?

        Wenn die Eingabe dann doch nicht 100%ig korrekt ist, entsteht eben ein toter Link. Who cares,

        Wenn Du tatsächlich diese Einstellung hast, verstehe ich nicht, was Du hier willst.

        '/(http://)?.+..+/' ist aber schonwieder zu brav.
        Und zu falsch. Viel zu falsch.
        Da er zu brav ist, also zu viel durchgehen lässt, ist er falsch, logisch.

        Und zu wenig.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      2. Hallo Forum,

        Copy & Paste ist für Dich zu viel Aufwand?

        Ich kann mir nicht vorstellen, dass in allen Gästebüchern, Foren etc. dieser Welt dieser Ausdruck steht.

        Darüber haben sich schon andere Gedanken gemacht (wie so häufig) und diese auch noch niedergeschrieben.

        Gruß
        Alexander Brock

    2. Hi,

      Es gibt exakt *eine* Regular Expression, die URLs korrekt verifizieren kann.

      Nö.
      Kleines Gegenbeispiel:
      schon für die beiden Protokolle http und https gibt es mehrere Varianten, z.B.:

      http:|https:
      (?:http|https):
      https?:
      https{0,1}:

      (erhebt keinen Anspruch auf Vollständigkeit)

      ==> es gibt mehrere Regular Expressions, die URLs korrekt verifizieren können.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.