Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.07.2015, 13:38
Интересующийся
Отправить личное сообщение для Egor1324 Посмотреть профиль Найти все сообщения от Egor1324
 
Регистрация: 12.02.2015
Сообщений: 16

как из URL получить доменное имя
Всем привет! Возник вопрос, у меня есть Input, в который пользователь вводит URL - адрес (http://1111111.ru/?ref=1), как мне получить доменное имя вида : 1111111.ru
Ответить с цитированием
  #2 (permalink)  
Старый 09.07.2015, 14:41
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var url = 'http://1111111.ru/?ref=1';
var host = url.split(/\/+/)[1];
alert(host)
Ответить с цитированием
  #3 (permalink)  
Старый 09.07.2015, 14:56
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

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
Ответить с цитированием
  #4 (permalink)  
Старый 09.07.2015, 18:07
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Тут скорее всего инпут надо сделать type="url" и поискать регу для валидации, которая и выдаст домен с поддоменом если будет.
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2015, 00:08
Интересующийся
Отправить личное сообщение для Egor1324 Посмотреть профиль Найти все сообщения от Egor1324
 
Регистрация: 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"," ");
        }
    });

а как мне проверить существует домен или нет ?
Ответить с цитированием
  #6 (permalink)  
Старый 10.07.2015, 00:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Egor1324,
Наверно это нун делать сервером, есть куча whois - сервисов, есть и с api возвращающих данные о домене
Если нун проверять до отправки формы - то отправляете Аякс запрос на свой сервер с async: false дожидаясь ответа с сервера, наверно поставить гиф-картинку uploader , дабы крутилась пока ожидается ответ

Последний раз редактировалось Deff, 10.07.2015 в 00:43.
Ответить с цитированием
  #7 (permalink)  
Старый 10.07.2015, 00:45
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var domain = url.replace('www.','//').split(/\/+/)[1];

Последний раз редактировалось Deff, 10.07.2015 в 01:10.
Ответить с цитированием
  #8 (permalink)  
Старый 10.07.2015, 00:53
Интересующийся
Отправить личное сообщение для Egor1324 Посмотреть профиль Найти все сообщения от Egor1324
 
Регистрация: 12.02.2015
Сообщений: 16

Сообщение от Deff Посмотреть сообщение
var domain = url.replace('www.','').split(/\/+/)[1];
спасибо, но этот код, не будет работать, если ввести www.xcv.ru/?ref=1, выведет: ?ref=1
Ответить с цитированием
  #9 (permalink)  
Старый 10.07.2015, 01:11
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Тады так
var domain = url.replace('www.','//').split(/\/+/)[1];
Ответить с цитированием
  #10 (permalink)  
Старый 10.07.2015, 05:20
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от Egor1324
вот как я сделал
Через ж и сделали. Aetae вам показал каноничный способ парсинга урлов в жабе скрипучей. Этот способ применяется повсеместно, потому что это жаба, а не пхп.

То есть когда нужен домен, а не валидация, то и добывайте его нормальным способом, а не через жэпэ.

Чтобы проверить есть такой домен, в смысле зареган ли - ищите апи хуиз сервисов.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить количество дней до определенной даты beard Общие вопросы Javascript 3 24.06.2012 17:22
Как получить URL, в случае совпадения с условиями - создать div? Intruder Общие вопросы Javascript 3 27.05.2012 02:10
Как получить название композиции из Windows Mepia Plyaer alx99 Javascript под браузер 1 18.02.2011 16:21
как правильно передвать имя radiobutton в функции boris2000 Элементы интерфейса 2 03.08.2010 21:16
Ссылка test.php?ID=33 Как получить в переменную значение 33 из URL? Anatuz Общие вопросы Javascript 1 27.07.2010 13:32