2013-08-07 17 views
0

如果我從document.domain獲得了說x.y.z.com,如何在java腳本中只獲取z.com? >我應該使用正則表達式嗎?請建議。提前致謝!我必須在示例java腳本函數中將其設置爲如下所示。我不能硬編碼。只從document.domain獲取域名的一部分

<html> 
<head> 
<title>domain</title> 
<script type="text/javascript"> 
function test(){  
domain="z.com"; //set domain here 
} 
</script> 
</head> 
<body bgcolor="#E7E7E7" onload="test()"> 
</body> 

的Java腳本代碼

回答

0

使用這種結構:

document.location.host.split('.').splice(-2, 2).join('.') 

UPD
例如使用document.location.host = 'new2.new.mail.domain.com'
功能split('.')通過.Array = ['new2', 'new', 'mail', 'domain', 'com']
功能splice(-2, 2)分裂document.location.host刪除從以前的數組的末尾2個單元,回到它像Array = ['domain', 'com']
最後join('.')功能由. prevoius陣列連接到字符串= domain.com
利潤!

UPD 2
首先看到的參考拼接功能Array.splce() method

var fruits = ["Banana", "Orange", "Apple", "Mango"]; 

第一個參數是從你會被刪除元素,在你的榜樣的位置-2意味着它的從數組末尾開始的第二個元素。
拼接函數中的第二個參數 - 我們將刪除多少個元素,在您的代碼中2表示刪除2個元素。
在第二個示例中,拼接中的第一個參數表示要從中刪除元素的元素的索引。在javascript數組索引從0開始,fruits[2]將是Apple

+0

這對我有用!但是,你能解釋一下我們到底在做什麼嗎? – Anita

+0

當然,請參閱** UPD **部分 – ostapische

+0

我嘗試瞭解拼接 第一次 \t var fruits = [「Banana」,「Orange」,「Apple」,「Mango」]; \t fruits.splice(-2,2); \t var x = document.getElementById(「demo」); \t x.innerHTML = fruits; 第二次 \t var fruits = [「香蕉」,「橙」,「蘋果」,「芒果」]; \t fruits.splice(2,2); \t var x = document.getElementById(「demo」); \t x.innerHTML = fruits; 這兩次它打印香蕉,橙色。爲什麼這樣? – Anita

0

您可以使用正則表達式來喜歡'x.y.z.com'.replace(/^.*?(\w+\.com)$/, '$1')

+0

我試着用這個域名比如preview16.aryot.com,它返回t.com。我想要返回aryot.com – Anita

+0

你是對的:)。已更新正則表達式非貪婪尋找前綴 – shyam

+0

謝謝:)它的工作原理!你能解釋這個正則表達式爲我的理解嗎? – Anita