Regex Tester

URL Regex Muster: URL Validierung

Regex Muster zum Abgleichen und Validieren von HTTP/HTTPS URLs mit Abfragezeichenfolgen, Fragmenten, Ports und Pfadsegmenten.

100% clientseitig. Deine Daten verlassen niemals deinen Browser.

//gm
4 Treffer
https://example.com https://devbento.dev/tools/regex-tester http://localhost:3000/api/users?page=1&limit=10 https://sub.domain.example.co.uk/path/to/resource#section ftp://not-http.com not a url https://example.com/search?q=hello+world&lang=en
Trefferdetails

Verwandte Werkzeuge

URL Regex Muster

Das obige Muster stimmt mit HTTP und HTTPS URLs überein, einschließlich Pfaden, Abfragezeichenfolgen und Fragmenten. Es lehnt ftp:// Schemata und einfache Strings ohne Protokoll ab. Von den obigen Teststrings stimmt es mit https://example.com, der DevBento Tool URL, der lokalen API mit Abfrageparametern und der Subdomain URL mit Fragment überein. Es stimmt nicht mit ftp://not-http.com oder dem einfachen Textstring überein.

Aufschlüsselung des Musters

SegmentMusterWas übereinstimmt
Protokollhttps?:\/\/http:// oder https://
Host[\w\-]+(\.[\w\-]+)+Domainname mit mindestens einem Punkt (z.B. example.com, sub.domain.co.uk)
Pfad, Abfrage, Fragment([\w.,@?^=%&:/~+#\-]*[\w@?^=%&/~+#\-])?Optionaler Pfad und Abfragezeichenfolge, darf nicht mit Interpunktion enden

Die letzte Zeichenklasse ist absichtlich nicht am Ende verankert. Die zweite Zeichenklasse innerhalb der Gruppe ([\w@?^=%&/~+#\-]) stellt sicher, dass die Übereinstimmung nicht an einem abschließenden Punkt oder Komma stoppt, wodurch vermieden wird, Interpunktion zu erfassen, die einer URL in Prosa folgt.

Der URL Konstruktor als Validierungsalternative

Für JavaScript ist new URL(input) die zuverlässigste Methode, um zu überprüfen, ob ein String eine gültige absolute URL ist:

function isValidUrl(str) {
  try {
    const url = new URL(str);
    return url.protocol === 'http:' || url.protocol === 'https:';
  } catch {
    return false;
  }
}

Dies behandelt Grenzfälle, die Regex nicht behandelt: IPv6 Adressen (http://[::1]:8080/), internationalisierte Domainnamen nach Punycode Normalisierung und prozentcodierte Zeichen in Pfaden. Die Protokollprüfung filtert javascript:, data: und andere Schemata, die du wahrscheinlich nicht akzeptieren möchtest.

Grenzfälle, die das Muster Nicht Abdeckt

URLs mit Authentifizierungsdaten (http://user:pass@example.com) werden nicht abgeglichen, weil das @ im Pfadteil des Musters nicht enthalten ist. URLs mit IPv6 Hosts in eckigen Klammern (http://[::1]:8080/path) werden nicht abgeglichen. URLs ohne Pfad (https://example.com) werden korrekt abgeglichen. Daten-URIs (data:text/plain;base64,...) werden nicht abgeglichen, da das Muster nur http/https zulässt.

Teste deine URL Muster mit Live-Ergebnissen im Regex Tester.