Autor Beitrag
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mi 26.01.11 16:39 
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:
ausblenden 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 user profile iconChristian S.: Topic aus Delphi4PHP-Technologien verschoben am So 15.07.2012 um 13:14


Zuletzt bearbeitet von Regan am Mi 26.01.11 16:57, insgesamt 1-mal bearbeitet
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 26.01.11 16:52 
Du widersprichst dir ;)
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
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:
ausblenden 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?

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."


Zuletzt bearbeitet von Martok am Mi 26.01.11 17:07, insgesamt 1-mal bearbeitet
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: 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?

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Regan Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mi 26.01.11 17:29 
Sehr interessante Ideen ;)

user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Ich hätte folgendes im Angebot:
ausblenden 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?

user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
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

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Und was willst Du bei Aufruf deines JS von einer IPv6-Adresse aus machen?

Das läuft (erstmal) nur lokal im Netzwerk ;)
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 26.01.11 17:58 
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
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

Es gibt Listen mit TLDs (und auch den STLDs, die man durchaus beachten sollte. Weil ich denk mal, du willst da sicherlich vernünftige Ergebnisse bei rausbekommen. Und .com.au und com.cn sind nur zwei Beispiele einer RECHT langen Liste. Gibt sogar einige, die sind sowohl mit als auch ohne Second Level TLD verwendbar ;-)

user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Und was willst Du bei Aufruf deines JS von einer IPv6-Adresse aus machen?

Das läuft (erstmal) nur lokal im Netzwerk ;)

Was mindestens Windows XP laufen hat und daher "IPv6-enabled" ist ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Regan Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Fr 28.01.11 22:50 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Gibt sogar einige, die sind sowohl mit als auch ohne Second Level TLD verwendbar ;-)

Wie gesagt: Betrifft mich nicht.

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
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:
ausblenden 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+\//gi.exec(aUrl)[1];
  }
  return /\.?([\w-]+\.[\w-]+?)\//gi.exec(aUrl)[1];
}
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 29.01.11 12:27 
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Mein Router hier kann nicht mal WPA :P
Sowas benutzt du noch? Hast du auch schön viele Netzwerkfreigaben? :mrgreen:
Regan Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Sa 29.01.11 12:30 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Mein Router hier kann nicht mal WPA :P
Sowas benutzt du noch? Hast du auch schön viele Netzwerkfreigaben? :mrgreen:

Ja, alle Ports sind geöffnet.