2016-03-28 28 views
-1

Genişletilmesini Get Nasıl nasıl .com almak ve bir değişkene kaydedebilirsiniz. Google.com'u google ve ".com" a ayırmak için regex kullanmayı düşünüyordum, ancak bunu yapmak için normal ifadeyi bilmiyorum.JAVASCRIPT/Krom:</p> <pre><code>google.com </code></pre> <p>Belirli Bir Sayfa

Ben

teşekkür ederiz window.location.hostname kullanarak makine ismini aldık bilmek yardımcı olabilir!

+0

'var str =" google.com "; alert (str.split (".") [1]); 'Birden çok nokta varsa '1' dizisinin büyüklüğüne değiştirin. –

cevap

0

Konumu . ile bölebilirsiniz ve dizideki son değer uzantı olacaktır. Böyle bir şey çalışacak:

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

console.log(extension) 

JS Fiddle Örnek: yardımcı https://jsfiddle.net/igor_9000/yvy0zrat/

Umut!

+2

Bu "bbc.co.uk" için "uk" değerini döndürür; burada cevap muhtemelen "co.uk" olmalıdır – Matsemann

+0

Muhtemelen, "co.uk" ikinci düzey bir etki alanıdır. OP bununla ilgilenseydi ya da sadece TLD'ye açıklık getirmesi gerekiyordu. –

+0

Başlığı kontrol edin, 'uzantı' OP ile ana bilgisayar adını çıkardıktan sonra tüm alanın ne olduğu anlamına gelir. – vove

0
Bir alt dize ve lastIndexOf kullanabilirsiniz

: Çoğunlukla

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

https://jsfiddle.net/06r86q0n/

diğer bir cevap olarak aynı, ancak hiçbiri

+2

Bu "bbc.co.uk" için "uk" değerini döndürür, burada cevap muhtemelen "co.uk" olmalıdır – Matsemann

+0

@Matsemann Lol Yorumunuz veya düzenlemem ilk önce geldiğinden emin değilim, ama bu doğru. Bilinen tüm konak sonekinin bir regexini kullanarak ve hangisinin hostname ile eşleştiğini görmek en iyi olurdu – NickT

0

Do ".com" gibi çift etki ile olur bölünmüş'u kullanmayın, biraz daha yavaş olan dilim:

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


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

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

+3

Bu "bbc.co.uk" için "uk" değerini döndürür, burada cevap muhtemelen "co.uk" olmalıdır. – Matsemann

+0

güzel catch !şimdi bu aniden çok daha sert bir soru, bir regex ile bile – JordanHendrix

0

sadece .com sonra ben gibi bir şey kullanmak çekecek regex ifadesi oluşturmak isteyen varsa: Regex ifadesi olarak

/(.com)/

böylece kod olur şunun gibi bir şeye benzeyebilirsiniz:

var regexMatch = /(.com)/; düzenli ifade olarak

RegExp nesnesinin yapıcı işlevi olarak

veya

var regexMatch = new RegExp(".com");.

+0

ne eğer .net, .co, .whatever? – JordanHendrix

+1

Onun sorusu bir ".com" kapmak bir regex ifadesi için sorar. – jdave

+1

Daha sonra bu, "var a = '.com'',;) – Matsemann

İlgili konular