09.07.2015, 13:38
|
Интересующийся
|
|
Регистрация: 12.02.2015
Сообщений: 16
|
|
как из URL получить доменное имя
Всем привет! Возник вопрос, у меня есть Input, в который пользователь вводит URL - адрес ( http://1111111.ru/?ref=1), как мне получить доменное имя вида : 1111111.ru
|
|
09.07.2015, 14:41
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
var url = 'http://1111111.ru/?ref=1';
var host = url.split(/\/+/)[1];
alert(host)
|
|
09.07.2015, 14:56
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
if(!('URL' in window)){
URL = function URL(url){
var a = document.createElement('a');
a.href = url;
return a;
}
}
alert(new URL('http://1111111.ru/?ref=1').host);
__________________
29375, 35
|
|
09.07.2015, 18:07
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Тут скорее всего инпут надо сделать type="url" и поискать регу для валидации, которая и выдаст домен с поддоменом если будет.
|
|
10.07.2015, 00:08
|
Интересующийся
|
|
Регистрация: 12.02.2015
Сообщений: 16
|
|
Все работает, только у меня еще вопрос, вот как я сделал :
$("#ads_edit_url").click(function(){
if($("#ads_param_link_url").val() != ''){
var url = $("#ads_param_link_url").val();
if(url.substr(0,4) == "http"){
var domain = url.split(/\/+/)[1];
if(domain.substr(0,3) == "www"){
var domain = domain.split(/\www+./)[1];
}
}else if($("#ads_param_link_url").val().substr(0,3) == "www"){
var url = $("#ads_param_link_url").val();
var domain = ("http://"+url).split(/\/+/)[1];
var domain = domain.split(/\www+./)[1];
}else{
var domain = $("#ads_param_link_url").val();
}
$("#ads_param_link_domain").removeAttr("readonly");
$("#ads_param_link_domain").removeAttr("disabled");
$("#ads_param_link_domain").attr("value", ""+domain+"");
}else{
$("#ads_param_link_domain").val("");
$("#ads_param_link_domain").attr("readonly"," ");
$("#ads_param_link_domain").attr("disabled"," ");
}
});
а как мне проверить существует домен или нет ?
|
|
10.07.2015, 00:39
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Egor1324,
Наверно это нун делать сервером, есть куча whois - сервисов, есть и с api возвращающих данные о домене
Если нун проверять до отправки формы - то отправляете Аякс запрос на свой сервер с async: false дожидаясь ответа с сервера, наверно поставить гиф-картинку uploader , дабы крутилась пока ожидается ответ
Последний раз редактировалось Deff, 10.07.2015 в 00:43.
|
|
10.07.2015, 00:45
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
var domain = url.replace('www.','//').split(/\/+/)[1];
Последний раз редактировалось Deff, 10.07.2015 в 01:10.
|
|
10.07.2015, 00:53
|
Интересующийся
|
|
Регистрация: 12.02.2015
Сообщений: 16
|
|
Сообщение от Deff
|
var domain = url.replace('www.','').split(/\/+/)[1];
|
спасибо, но этот код, не будет работать, если ввести www.xcv.ru/?ref=1, выведет: ?ref=1
|
|
10.07.2015, 01:11
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Тады так
var domain = url.replace('www.','//').split(/\/+/)[1];
|
|
10.07.2015, 05:20
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от Egor1324
|
вот как я сделал
|
Через ж и сделали. Aetae вам показал каноничный способ парсинга урлов в жабе скрипучей. Этот способ применяется повсеместно, потому что это жаба, а не пхп.
То есть когда нужен домен, а не валидация, то и добывайте его нормальным способом, а не через жэпэ.
Чтобы проверить есть такой домен, в смысле зареган ли - ищите апи хуиз сервисов.
|
|
|
|