2013-08-07 4 views
0

Если я скажу x.y.z.com из document.domain, как получить только z.com из него в java-скрипте? > Должен ли я использовать regexp? Пожалуйста, предложите. Заранее спасибо! Я должен установить его, как показано ниже, в образце java script function. Я не могу это сделать.получить только часть домена из 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('.') расщепляется document.location.host по . в Array = ['new2', 'new', 'mail', 'domain', 'com']
Функции splice(-2, 2) удаляет 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 = фрукты; Второй раз \t var fruits = ["Banana", "Orange", "Apple", "Mango"]; \t fruits.splice (2,2); \t var x = document.getElementById ("demo"); \t x.innerHTML = фрукты; Оба раза он печатает Банан, оранжевый. Почему это так? – Anita

0

Вы можете использовать регулярные выражения, чтобы понравиться 'x.y.z.com'.replace(/^.*?(\w+\.com)$/, '$1')

+0

Я пробовал это с доменом, как preview16.aryot.com, и он возвращает t.com. Я хочу, чтобы aryot.com был возвращен – Anita

+0

Вы правы :). Обновили регулярное выражение, чтобы не жадно искать префикс – shyam

+0

Спасибо :) это работает! Не могли бы вы объяснить это регулярное выражение для моего понимания? – Anita

Смежные вопросы