кодесурса
«JavaScript

JavaScript: разбирать URL

script1adsense2code
script1adsense3code

Объект 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code