1. URL 파싱 함수
코드 사본은 다음과 같습니다.
<cript>
/**
*@param {String} URL 완료 URL 주소
*@returns {object} 사용자 정의 객체
*@설명 사용 예 : var myurl = parseurl ( 'http://abc.com:8080/dir/index.html?id=255&m=hello#top');
myurl.file = 'index.html'
myurl.hash = 'top'
myurl.host = 'abc.com'
myurl.query = '? id = 255 & m = hello'
myurl.params = 객체 = {id : 255, m : hello}
myurl.path = '/dir/index.html'
myurl.segments = array = [ 'dir', 'index.html']]]
myurl.port = '8080'
myurl.protocol = 'http'
myurl.source = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
*/
함수 parseurl (url) {
var a = document.createelement ( 'a');
A.href = URL;
반품 {
출처 : URL,
프로토콜 : a.protocol.replace ( ':', ''),
호스트 : A.HostName,
포트 : A. 포트,
쿼리 : A.Search,
매개 변수 : (function () {
var ret = {},
seg = a.search.replace (/^/?/, ''). split ( '&'),
len = seg.length, i = 0, s;
for (; i <len; i ++) {
if (! seg [i]) {계속; }
s = seg [i] .split ( '=');
ret [s [0]] = s [1];
}
반품 반환;
}) (),
파일 : (a.pathname.match (/// ([^//?#]+)+) $/i) || [, ''] [1],
해시 : a.hash.replace ( '#', ''),
경로 : a.pathname.replace (/^([^//])/, '/$ 1'),
상대 : (a.href.match (/tps? : /// [^//]+(.+)/) || [, '] [1],
세그먼트 : a.pathname.replace (/^///, ''). Split ( '/')
};
}
// var myurl = parseurl ( 'http://abc.com:8080/dir/index.html?id=255&m=hello#top');
var myurl = parseurl ( 'http : // localhost : 8080/test/mytest/tologina.ction? m = 123 & pid = abc');
경고 (myurl.path);
경고 (myurl.params.m);
Alert (myurl.params.pid);
</스크립트>
2. JS 세그먼트 화 된 URL 분석
URL : 균일 자원 로케이터 (URL)
완전한 URL은 다음 부분으로 구성됩니다. scheme : // host : port/path? query#fragment
코드 사본은 다음과 같습니다.
체계 = 통신 프로토콜 (일반적으로 사용되는 HTTP, FTP, Maito 등)
host = host (도메인 이름 또는 IP)
포트 = 포트 번호
경로 = 경로
query = query (선택 사항, 매개 변수를 동적 웹 페이지로 전달하는 데 사용됩니다 (예 : CGI, ISAPI, PHP/JSP/ASP/ASP.NET 및 기타 기술을 사용한 웹 페이지 등). "&"기호로 분리 된 여러 매개 변수가있을 수 있으며 각 매개 변수의 이름과 값은 "="기호로 분리됩니다).
Fragment = Information Fragment (네트워크 리소스에 조각을 지정하는 데 사용되는 문자열. 예를 들어, 웹 페이지에 여러 명사 설명이있는 경우 조각을 사용하여 특정 용어 설명을 직접 찾을 수 있습니다 (앵커라고도 함).
그러한 URL의 경우
//www.vevb.com:80/seo/?ver=1.0&id=6#imhere
JavaScript로 다양한 부분을 얻을 수 있습니다.
1, window.location.href
전체 URL 문자열 (브라우저의 전체 주소 표시 줄)
2, window.location.protocol
URL의 프로토콜 부분
이 예제는 값을 반환합니다 : http :
3, Window.location.host
URL의 호스트 부분
이 예제에서 반환 값 : www.vevb.com
4, Window.location.port
URL의 포트 부분
기본 80 포트가 사용되는 경우 (업데이트 : 80이 추가 되더라도) 반환 값은 기본 80이 아니라 빈 문자입니다.
이 예제는 값을 반환합니다. ""
5, window.location.pathname
URL의 경로 부분 (즉, 파일 주소)
이 예제는 값을 반환합니다 : /seo /
6, Window.location.search
쿼리 (매개 변수) 부분
동적 언어에 값을 할당하는 것 외에도 정적 페이지를 제공하고 JavaScript를 사용하여 추정되는 매개 변수의 값을 얻을 수 있습니다.
이 예에서 반환 값 :? ver = 1.0 & id = 6
7, Window.location.hash
앵커 포인트
이 예에서 반환 값 : #Imhere