Как вернуть location.hostname без завершающей косой черты?

Как вернуть строку example.com с помощью JavaScript, если ввод https://example.com/page.html?query=string?

Прямо сейчас, если я использую window.location.hostname – или location.hostname – возвращаемое значение будет
example.com/, но я хочу
example.com без косой черты в конце.


Этот вопрос похож на вопрос @r1853 "Как удалить завершающую косую черту из window.location.pathname», но поскольку JavaScript предоставляет множество способов захвата частей URI (location.hostname, location.host, location.href) и поскольку правильно сформированные URI являются закрытым классом, я предположил, что был менее затратным вариантом, чем использование регулярного выражения для удаления косой черты из них.


person Lucas    schedule 29.12.2019    source источник
comment
Отвечает ли это на ваш вопрос? Как удалить завершающую косую черту из window.location.pathname   -  person Mitya    schedule 30.12.2019
comment
Аналогично stackoverflow.com/questions/31185383/   -  person Kwame Opare Asiedu    schedule 30.12.2019


Ответы (1)


Просто поместите свой window.location.hostname в переменную:

let hostname = window.location.hostname;

а затем используйте substring, чтобы удалить последний символ (который будет косой чертой в конце)

hostname = hostname.substring(0, hostname.length - 1);

Если вы хотите убедиться, что последним символом на самом деле является /, вы можете использовать оператор if :

if (hostname.charAt(hostname.length - 1) == '/') {
  hostname = hostname.substring(0, hostname.length - 1)
}

person Tom Truyen    schedule 29.12.2019
comment
Нет ли в JavaScript другого механизма для этой части URI, например, window.location.hostnamebeforetheslash или что-то в этом роде? - person Lucas; 30.12.2019
comment
Не то, что я знаю о - person Tom Truyen; 30.12.2019