Heim > Web-Frontend > js-Tutorial > Wie kann ich reguläre Ausdrücke verwenden, um URLs zu erkennen, einschließlich nackter URLs?

Wie kann ich reguläre Ausdrücke verwenden, um URLs zu erkennen, einschließlich nackter URLs?

DDD
Freigeben: 2024-12-12 19:06:15
Original
125 Leute haben es durchsucht

How Can I Use Regular Expressions to Detect URLs, Including Naked URLs?

Erkennen von URLs mit regulären Ausdrücken

Ihr aktueller Code stimmt nicht mit nackten URLs überein, denen das Präfix „http://“ fehlt. Um dieses Problem zu lösen, sollten Sie die Einführung eines umfassenden regulären Ausdrucks in Betracht ziehen:

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
Nach dem Login kopieren

Dieser erweiterte Ausdruck umfasst die folgenden Funktionen:

  • Es stellt sicher, dass URLs entweder mit „http://“ beginnen , „https://“ oder nichts.
  • Es ermöglicht Subdomains durch Einfügen von „(www.)“ als optionales Präfix.
  • Es unterstützt Domain Namen mit einer Länge von bis zu 256 Zeichen und Top-Level-Domains mit einer Länge von bis zu 6 Zeichen.

Für diejenigen, die das HTTP-Protokoll in ihren Übereinstimmungen nicht benötigen, steht ein alternativer Ausdruck zur Verfügung:

[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
Nach dem Login kopieren

Um die Funktionalität dieser Ausdrücke zu demonstrieren, schauen Sie sich die Online-Testtools unter http://regexr.com?37i6s (für den ersten Ausdruck) an oder http://regexr.com/3e6m0 (für den weniger restriktiven Ausdruck).

Hier ist eine Beispiel-JavaScript-Implementierung mit dem umfassenderen regulären Ausdruck:

const expression = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/gi;
const regex = new RegExp(expression);
const t = 'www.google.com';

if (t.match(regex)) {
  alert("Successful match");
} else {
  alert("No match");
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich reguläre Ausdrücke verwenden, um URLs zu erkennen, einschließlich nackter URLs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage