Как извлечь базовый URL из строки в JavaScript?

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

163
задан kenorb 19 March 2015 в 12:25
поделиться

5 ответов

Редактировать: Некоторые жалуются, что он не принимает во внимание протокол. Поэтому я решил обновить код, поскольку он помечен как ответ. Для тех, кто любит однострочный код ... ну, извините, поэтому мы используем минимизаторы кода, код должен быть удобочитаемым, и этот способ лучше ... на мой взгляд.

var pathArray = "https://somedomain.com".split( '/' );
var protocol = pathArray[0];
var host = pathArray[2];
var url = protocol + '//' + host;

Или используйте решение Дэвидса снизу.

201
ответ дан 23 November 2019 в 21:16
поделиться

Не нужно использовать jQuery, просто используйте

location.hostname
44
ответ дан 23 November 2019 в 21:16
поделиться

Нет причин делать разбиения, чтобы получить путь, имя хоста и т. Д. Из строки, которая является ссылкой. Вам просто нужно использовать ссылку

//create a new element link with your link
var a = document.createElement("a");
a.href="http://www.sitename.com/article/2009/09/14/this-is-an-article/";

//hide it from view when it is added
a.style.display="none";

//add it
document.body.appendChild(a);

//read the links "features"
alert(a.protocol);
alert(a.hostname)
alert(a.pathname)
alert(a.port);
alert(a.hash);

//remove it
document.body.removeChild(a);

. Вы можете легко сделать это с помощью jQuery, добавив элемент и прочитав его атрибут.

30
ответ дан 23 November 2019 в 21:16
поделиться

Это можно сделать с помощью регулярного выражения:

/(http:\/\/)?(www)[^\/]+\//i

подходит ли оно?

2
ответ дан 23 November 2019 в 21:16
поделиться

Если вы используете jQuery, это отличный способ манипулировать элементами в javascript, не добавляя их в DOM:

var myAnchor = $("<a />");

//set href    
myAnchor.attr('href', 'http://example.com/path/to/myfile')

//your link's features
var hostname = myAnchor.attr('hostname'); // http://example.com
var pathname = myAnchor.attr('pathname'); // /path/to/my/file
//...etc
12
ответ дан 23 November 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: