2016-03-28 6 views
-1

DaJAVASCRIPT/Chrome: Wie Verlängerung der Seite

google.com 

Wie kann ich .com und es zu einer Variablen speichern, erhalten. Ich dachte daran, google.com in Google und ".com" zu teilen, aber ich kenne die Regex nicht, um dies zu tun.

Es könnte helfen, zu wissen, dass ich die Hostnamen bekam verwenden window.location.hostname

Thank you!

+0

'var str =" google.com "; alert (str.split (".") [1]); 'Ändere '1' auf die Größe des Arrays, wenn mehrere Punkte vorhanden sind. –

Antwort

0

Sie können die Position durch . teilen, und der letzte Wert im Array wird die Erweiterung sein. So etwas wie dies funktionieren würde:

var extension=location.hostname.split("."); 
extension=extension[extension.length-1]; 

console.log(extension) 

JS Fiddle Beispiel: https://jsfiddle.net/igor_9000/yvy0zrat/

Hoffnung, das hilft!

+2

Dies gibt 'uk' für' bbc.co.uk' zurück, wobei die Antwort wahrscheinlich 'co.uk' sein sollte. – Matsemann

+0

Möglicherweise ist' co.uk' eine Second-Level-Domain. OP müsste klären, ob er daran interessiert war oder nur TLD. –

+0

Überprüfen Sie den Titel, könnte man annehmen, dass durch "Erweiterung" OP bedeutet, was ist die gesamte Domäne nach Subtrahieren des Hostnamens. – vove

0

Sie könnten einen Teil und lastIndexOf verwenden:

var str = window.location.hostname; 
var ending = str.substring(str.lastIndexOf(".")+1); 

https://jsfiddle.net/06r86q0n/

Meistens ist die gleiche wie die andere Antwort, aber weder hilft mit Doppel Domains wie ".de"

+2

Dies gibt 'uk' für' bbc.co.uk' zurück, wobei die Antwort wahrscheinlich 'co.uk' sein sollte. – Matsemann

+0

@Matsemann Lol Ich bin mir nicht sicher, ob dein Kommentar oder mein Beitrag zuerst kam, aber das stimmt. Es wäre am besten zu überprüfen, mit einem Regex aller bekannten Host-Suffix und sehen, welche mit dem Hostnamen übereinstimmt – NickT

0

Do nicht verwenden split, es ist ein bisschen langsamer als scheibe:

var last = location.hostname 
var t = last.slice(last.lastIndexOf(".")); 


console.log(t) // .com, .net etc... 

Fiddle: https://jsfiddle.net/1qu0rffb/

+3

Dies gibt 'uk' für' bbc.co.uk', wo die Antwort wahrscheinlich sein sollte 'co.uk' – Matsemann

+0

nice catch !jetzt ist das plötzlich eine viel schwierigere Frage, auch mit einer Regex – JordanHendrix

0

Wenn Sie eine Regex-Anweisung erstellen suchen, der nur die .com dann greifen werde ich so etwas wie verwenden würde: Ihr Code

/(.com)/ als Regex-Anweisung

so würde sehen wie etwas aus:

var regexMatch = /(.com)/; als regulären Ausdruck Literal

oder

var regexMatch = new RegExp(".com"); als Konstruktorfunktion des RegExp-Objekts.

+0

Was ist, wenn seine. NET, .CO,. was auch immer? – JordanHendrix

+1

Seine Frage fragt nach einer Regex-Anweisung, die eine ".com" ergreift. – jdave

+1

Dann könnte das gelöst werden, indem man 'var a = '.com';;) – Matsemann

Verwandte Themen