guma: URL Validation: www. http:// https:// sollen funktionieren

Hallo zusammen. Hier der Validierungscode in Javascript der auch Einträge mit www. zulassen soll: (Ich erkenne nicht wo ich ansetzen soll)

url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},

grüße guma

  1. Das ist doch ein schlechter Scherz.

  2. Hallo,

    [ziemlich viele Zeichen um nix zu sagen]

    Gib bloß nicht zu viele Informationen von dir preis, wir könnten sie alle gegen dich verwenden.

    martachen

  3. Danke für die Meldung. Wollte wissen, wo ich ansetze, um "www." bei der Validierung von URLs zu akzeptieren. Derzeit wird auf "http://" geprüft. http://  benötige ich aber nicht. Meine URLs sollen mit www. anfangen.

    Hoffe mich besser ausgedrückt zu haben. Mehr gibts nicht zu berichten. Wenn ich keine Lösung finde mache ich die Änderung per PHP am String. Wollte eben vorher validieren mit JS.
    NixProfi - bin Guma

    1. Om nah hoo pez nyeetz, guma!

      Danke für die Meldung. Wollte wissen, wo ich ansetze, um "www." bei der Validierung von URLs zu akzeptieren. Derzeit wird auf "http://" geprüft. http://  benötige ich aber nicht. Meine URLs sollen mit www. anfangen.

      Eine URL fängt aber nicht mit "www" an. Intelligente Browser setzen das http:// davor. Cleverer ist es, auf "www." zu verzichten.

      Also
        http://example.com
      statt
        http://www.example.com

      Und auf dem Server ein Rewrite von www auf ohne www

      Dann kannst du sowohl auf "http://" als auch "www." verzichten. Für moderne Browser reicht dann ein "example.com"

      Matthias

      --
      Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Wachs und Wachstube.

      1. Eine URL fängt aber nicht mit "www" an. Intelligente Browser setzen das http:// davor. Cleverer ist es, auf "www." zu verzichten.

        Intelligent ist Ansichtssache - ich würde eher sagen "Kaputt" - denn wenn sie das tun, ignorieren sie RFC 3986 :)

      2. OK, danke für die Hinweise. Die Nutzer geben URLs gerne mit www.blabla.de ein, meine validierung greift dann ein und fordert eine valide URL. Das überfordert, trotz Hinweis, wie eine URL eizugeben den ein oder anderen Nutzer. Anruf beim Programmierer, ist dann die Idee des Nutzers. Aus dem Grund will ich Clientseitig bei der Validierung auch www. erlauben. Auch wenn es das Protokoll ftp:// und so weiter gibt. Hier aber nicht vorkommen kann. Hat mir einer ne Idee, wie ich das in das JS einbinde, damit www. auch ohne http:// akzeptiert wird?
        Ansonsten nehme ich die Validierung mit JS raus und mache das serverseitig.
        Grüße Guma

  4. Hallo zusammen. Hier der Validierungscode in Javascript der auch Einträge mit www. zulassen soll: (Ich erkenne nicht wo ich ansetzen soll)

    Ich glaube guma möchte einen RegExp der eine gültige URL, ohne Nennung des Protokolls validiert. Vermutlich um auf Clientseite die Eingabe in einem Formular zu prüfen.

    Gruß Markus**