Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.05.2012, 11:53
Новичок на форуме
Отправить личное сообщение для Vitia28 Посмотреть профиль Найти все сообщения от Vitia28
 
Регистрация: 31.03.2012
Сообщений: 2

Помогите разделить URL адрес на составляющие части.
Добрый день! Привет всем!
Помогите решить задание. Зарание спасибо!

Пользователь в ответ на запрос приложения вводит URL адрес. Нужно разделить данный адрес на составляющие и вывести результат. Например, пользователь вводит адрес вида http://www.ufa.com.ua/utilites/hdd/out.php?sort=2. После этого ему выводится следующая информация о данной адресу:

протокол - http:
хост - www.ufa.com.ua
путь - / utilites / hdd /
имя файла - out.php
строка запроса - sort = 2

<html> 
<head> 
    <title>URL</title>
</head>
<body> 
   <script type="text/javascript"> 
        var URL = new Array("http://www.ufa.com.ua/utilites/hdd/out.php?sort=2");
        var titles = new Array("Protokol", "host", "url", "name file", "ryadok zaputu");
        var urls   = new Array("http://", "www.ufa.com.ua "," /utilites/hdd/", "out.php ", "sort=2");

        for (var i=0; i<titles.length; i++) {
        document.write (titles[i].bold() + ": " +urls[i].link(urls[i])+ "<br /> ");
        }
 
        //var str="http://www.ufa.com.ua/utilites/hdd/out.php?sort=2"
        //slice
		var str=prompt("Enter URL:");
		if (start =  str.slice(0,7) || str.split("://")) {
        document.write("<br/>Protokol: &nbsp;"+ str.slice(0,7))
        document.write("<br />")
        }
		if (start =  str.slice(7,10) || str.split(".")) {
        document.write("Host: " + str.slice(7,10))
        document.write("<br />")
        }
		if (start =  str.slice(10,15) || str.split("/")) {
        document.write("URL:  " + str.slice(10,15))
        document.write("<br />")
        }
		if (start =  str.slice(15,20) || str.split("/")) {
        document.write("Index Name file: " + str.slice(15,20))
        document.write("<br />")
        }
       
/*	   document.write("Index of last ryadok zaputu sort=2: " + str.lastIndexOf("sort=2"))
        document.write("<br/> <br />")
*/
        /*var p = /^(\w+:\/\/)(([a-z0-9\-]+\.)+[a-z]{2,6})([a-z0-9\-\/]*\/)*([a-z0-9\-]+\.[a-z]+)/i;

        var str = prompt("Запрос на ввод данных")
        var Str = "http://www.mysite.ru/folder1/folder2/forder3/file.html";
        p.exec(Str); //exec - Виконує пошук збігів у зазначеному рядку. Повертає масив результатів або null 
        prompt(Str);
		document.write("Повний URL - " + RegExp.input + Str + "<br>");
        document.write("Хост - " + RegExp.$1 + "<br>");
        document.write("Сайт - " + RegExp.$2 + "<br>");
        document.write("Шлях - " + RegExp.$4 + "<br>");
        document.write("Імя файла - " + RegExp.$5 + "<br>");
		*/
    </script>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 07.05.2012, 12:15
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

есть объект location там все определено уже Вам только вывести-или задача вручную то же самое получить?
http://javascript.ru/window-location
Ответить с цитированием
  #3 (permalink)  
Старый 08.05.2012, 16:37
Аватар для swa
swa swa вне форума
Аспирант
Отправить личное сообщение для swa Посмотреть профиль Найти все сообщения от swa
 
Регистрация: 10.04.2009
Сообщений: 50

function getUrlVars(url) {  
// использование:
//_get = getUrlVars();
//a = _get['a'];

    var vars = {}, hash;  
    var hashes = decodeURIComponent(url).slice(url.indexOf('?') + 1).split('&');  
  
    for(var i = 0; i < hashes.length; i++)  
    {  
        hash = hashes[i].split('=');  
        vars[hash[0]] = hash[1];  
    }  
  
    return vars;  
}

Последний раз редактировалось swa, 08.05.2012 в 16:39.
Ответить с цитированием
  #4 (permalink)  
Старый 08.05.2012, 16:45
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

swa,
человеку нужно разбить ссылку на части, а ваш скрипт лишь вытаскивает GET параметры из ссылки.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 08.05.2012, 17:47
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Самый простейший вариант:
function parse_url( url ) {

	var parts = url.split( "#" ),
		out = {};

	out.url = url;
	out.hash = ( parts.length > 1 ? ( ( url = parts.shift() ) || 1 ) && parts.join( "#" ) : "" );
	url = ( parts = url.split( "?" ) ).shift();
	out.search = parts.join( "?" );
	out.scheme = ( parts = url.split( "://" ) ) && parts.length > 1 ? parts.shift() : "";
	out.host = ( ( parts = parts.join( "://" ).split( "/" ) ) && parts.length > 1 &&
					parts[0].indexOf(".") > 0 || out.scheme ) && parts.shift() || "";
	out.script = parts.pop();
	out.path = ( parts.length > 0 ? "/" : "" ) + parts.join( "/" );

	return out;
}

var out = parse_url( prompt( "Введите URL: ", "http://somesite.com/folder/index.php?param=value#lalala" ) );

alert([
	"url: " + out.url,
	"scheme: " + out.scheme,
	"host: " + out.host,
	"path: " + out.path,
	"script: " + out.script,
	"search: " + out.search,
	"hash: " + out.hash
].join("\n"));
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 08.05.2012 в 17:57.
Ответить с цитированием
  #6 (permalink)  
Старый 09.05.2012, 19:18
Новичок на форуме
Отправить личное сообщение для Vitia28 Посмотреть профиль Найти все сообщения от Vitia28
 
Регистрация: 31.03.2012
Сообщений: 2

Спасибо большое!!!
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите открыть http адрес с помощью php chippolino Серверные языки и технологии 1 13.11.2011 23:50
ПОМОГИТЕ!!! Где храниться новый адрес? Mad LIR Firefox/Mozilla 12 06.07.2011 12:59
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11
Помогите динамически интегрировать значение в URL Yurii Общие вопросы Javascript 14 07.05.2008 15:12