JavaScript: разбирать URL
Объект JavaScript: упражнение 12 с решением
Напишите функцию JavaScript для разбора URL.
Пример решения: -
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript function to parse an URL.</title>
</head>
<body>
</body>
</html>
Код JavaScript:
function parse_URL(url) {
var a = document.createElement('a');
a.href = url;
return {
source: url,
protocol: a.protocol.replace(':', ''),
host: a.hostname,
port: a.port,
query: a.search,
params: (function () {
var ret = {},
seg = a.search.replace(/^\?/, '').split('&'),
len = seg.length,
i = 0,
s;
for (; i < len; i++) {
if (!seg[i]) {
continue;
}
s = seg[i].split('=');
ret[s[0]] = s[1];
}
return ret;
})(),
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1],
hash: a.hash.replace('#', ''),
path: a.pathname.replace(/^([^\/])/, '/$1'),
relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1],
segments: a.pathname.replace(/^\//, '').split('/')
};
}
console.log(parse_URL('https://github.com/pubnub/python/search?utf8=%E2%9C%93&q=python'));
Пример вывода:
{ "Источник": "https://github.com/pubnub/python/search?utf8=%E2%9C%93&q=python", "протокол": "HTTPS", "хозяин": "github.com", "порт": "", "запрос": "utf8 =% E2% 9C% 93 & д = питон", "PARAMS?": { "utf8": "% E2% 9C% 93", "Q": "Python" }, "файл": "поиск", "хэш": "", "путь": "/ pubnub / питон / поиск", "относительный": "/ pubnub / питон / поиск utf8 =% E2% 9C% 93 & д? = Python», "сегменты": [ "pubnub", "Python", "поиск"]}
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-object-упражнение-12 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Previous: написать функцию JavaScript для печати всех методов объекта JavaScript.
Далее: Напишите функцию JavaScript для извлечения всех имен собственных и унаследованных свойств объекта.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code