Reguläre JavaScript-Ausdrücke zur URL-Erkennung und -Aufteilung
P粉043432210
P粉043432210 2023-09-21 18:00:47
0
1
585

Ich habe die folgende URL:

https://comanage.example.edu/sp
https://wiki.cs.example.org/sp
https://intranet.math.example.edu/sp
https://myapp.example.com/sp

Für diese URLs muss ich eine Funktion definieren, um zu erkennen, ob es sich um URLs handelt, und um die https://- und SP-Pfade daraus zu ersetzen. Im Grunde brauche ich nur den Hostnamen. Zum Beispiel wie unten gezeigt:

https://comanage.example.edu/sp      ->comanage.example.edu
https://wiki.cs.example.org/sp       ->wiki.cs.example.org
https://intranet.math.example.edu/sp ->intranet.math.example.edu
https://myapp.example.com/sp         ->myapp.example.com

Bei Nicht-URLs sollte diese Funktion diese erkennen und nicht ersetzen. Wie unten gezeigt:

nonurl.example.com -> ***no replacement***

Kann mir jemand eine Lösung für das oben genannte Problem geben? Ich habe nicht viel Wissen über die Verwendung regulärer Ausdrücke.

P粉043432210
P粉043432210

Antworte allen(1)
P粉680087550

模式 ^https?:\/\/ 在这里应该很容易使用。我们可以用它来替换任何字符串开头的 http://https:// 为空字符串

在模式中,^ 符号表示字符串的开头。这意味着如果 http:// 在字符串中间出现,它将不会匹配,因为它必须在开头

? 将前一个字符标记为可选。在模式中,s 是可选的,以便找到 httphttps

\/ 是必需的,因为斜杠必须进行转义

const urls = [
  'https://comanage.example.edu/sp',
  'https://wiki.cs.example.org/sp',
  'https://intranet.math.example.edu/sp',
  'https://myapp.example.com/sp',
  'nonurl.example.com',
];

const pattern = /^https?:\/\//i;

urls.forEach(u => {
  console.log(u, '-->', u.replace(pattern, ''));
});
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!