Entwickler-Ecke
Programmiersprachen (Client) - SLD+'.'+TLD mit Javascript RegExp filtern
Regan - Mi 26.01.11 16:39
Titel: SLD+'.'+TLD mit Javascript RegExp filtern
Hallo,
ich hänge mal wieder in der Luft. Ich möchte gerne aus dem
location.href nur die SLD+'.'+TLD herausfiltern. Als Beispiel: aus
http://www.foo.bar.blipp/lalala wird
bar.blipp. So weit, so gut. Mein Javascript-Code sieht wie folgt aus:
XML-Daten
1:
| curr.replace(/^http[s]?:\/\/[\w-\.]*([\w-]*\.[a-z]{2,5})[\/:]/gi, "$1"); |
Leider wirft mir das immer z. B. nur ".de" aus. Was mache ich falsch?
Vielen Dank im Voraus
Regan
Moderiert von Christian S.: Topic aus Delphi4PHP-Technologien verschoben am So 15.07.2012 um 13:14
Martok - Mi 26.01.11 16:52
Du widersprichst dir ;)
Regan hat folgendes geschrieben : |
Ich möchte gerne aus dem location.href nur die Top-Level-Domain herausfiltern. Als Beispiel: aus http://www.foo.bar.blipp/lalala wird bar.blipp. |
Das ist NICHT die TLD! Genaugenommen ist das gar nichts spezifisches, sondern lediglich SLD+'.'+TLD.
TLD wäre zum Beispiel
location.host.substr(location.host.lastIndexOf('.')+1).
Dein Beispiel dazu macht nun wieder was ganz anderes... ich fürchte, das wird so nix, ohne die Termini mal klarzustellen ;)
EDIT: gut, er hats editiert ;)
Ich hätte folgendes im Angebot:
C#-Quelltext
1:
| /\.([\w-]+\.[\w-]+)/gi.exec(location.host)[1] |
Aus dem href ist das etwas schwieriger, da müsste noch ein Anker hinten und vorn dran. Brauchst du das wirklich dafür oder kannst du auch .host nehmen?
BenBE - Mi 26.01.11 17:04
Außerdem: Was machst Du bei .com.au? Oder .com.cn?
Und was willst Du bei Aufruf deines JS von einer IPv6-Adresse aus machen?
Regan - Mi 26.01.11 17:29
Sehr interessante Ideen ;)
Martok hat folgendes geschrieben : |
Ich hätte folgendes im Angebot:
C#-Quelltext 1:
| /\.([\w-]+\.[\w-]+)/gi.exec(location.host)[1] | |
Das funktioniert ganz gut. Allerdings wirft das bei folgender Url-Struktur einen Fehler raus:
bli.blu.ee:81. Ich habe den jetzt mal so verändert.
/\.([\w-]+\.[\w-]+[:\d+]?$)/gi.exec(location.host)[1]; Allerdings wirft mir dieser Code einen Fehler?
Martok hat folgendes geschrieben : |
Brauchst du das wirklich dafür oder kannst du auch .host nehmen? |
Ich kann auch das Host nehmen. Ich dachte nur, dass ich mir doppelte Eigenschaften sparen kann.
BenBE hat folgendes geschrieben : |
Außerdem: Was machst Du bei .com.au? Oder .com.cn? |
Die fallen nicht in mein Anwendungsgebiet. Ich habe vornehmlich Adressen mit .de oder .com
BenBE hat folgendes geschrieben : |
Und was willst Du bei Aufruf deines JS von einer IPv6-Adresse aus machen? |
Das läuft (erstmal) nur lokal im Netzwerk ;)
Regan - Fr 28.01.11 22:50
BenBE hat folgendes geschrieben : |
Gibt sogar einige, die sind sowohl mit als auch ohne Second Level TLD verwendbar ;-) |
Wie gesagt: Betrifft mich nicht.
BenBE hat folgendes geschrieben : |
Was mindestens Windows XP laufen hat und daher "IPv6-enabled" ist ;-) |
Mein Router hier kann nicht mal WPA :P
Ich habe das nochmal überarbeite und in zwei schicke Funktionen gefasst. Die erste ist für Hosts und die zweite für URLs:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| function getDomain(aHost) { if (aHost.search(/:\d+$/gi) != -1) { aHost = /(.+):\d+$/gi.exec(aHost)[1]; } return /\.?([\w-]+\.[\w-]+?$)/gi.exec(aHost)[1]; }
function getHost(aUrl) { if (aUrl.search(/^[^http:\/\/]/i) != -1) { return curr; } if (aUrl.search(/:\d+/gi) != -1) { return /\.?([\w-]+\.[\w-]+?):\d+\ } return /\.?([\w-]+\.[\w-]+?)\} |
jaenicke - Sa 29.01.11 12:27
Regan hat folgendes geschrieben : |
Mein Router hier kann nicht mal WPA :P |
Sowas benutzt du noch? Hast du auch schön viele Netzwerkfreigaben? :mrgreen:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!