매우 포괄적인 자바스크립트 URL 구문 분석 기능과 분할된 URL 구문 분석 방법_javascript 기술

WBOY
풀어 주다: 2016-05-16 16:52:39
원래의
1180명이 탐색했습니다.

一、URL解析函数

复主代码 代码如下:

<스크립트> 
/**
*@param {string} url 전체 URL 주소
*@returns {object} 사용자 정의 개체
*@description 사용 예: 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= Object = { id: 255, m: hello }

myURL.path= '/dir/index.html'

myURL.segments= 배열 = ['dir', 'index.html']

myURL.port= '8080'

myURL.protocol= 'http'

myURL.source= 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'

*/ 
function parURL(url) { 
 var a =  document.createElement('a'); 
 a.href = URL; 
 return { 
 소스: url, 
 protocol: a.protocol.replace(':',''), 
 host: a.hostname, 
 port: a.port, 
 쿼리: a.search, 
 params: (function(){ 
     var ret = {}, 
         seg = a.search.replace(/^?/,'').split(' &'), 
         len = seg.length, i = 0, s; 
     for (;i        if (!seg[i]) { 계속; s = seg[i].split('='); 
         ret[s[0]] = s[1]; 
     } 
     return ret; 
 }), 
 파일: (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); 
경고(myURL.params.pid); 


이중, JS分段URL解析

复代码码

query = 查询(可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术网页)传递参数,可多个参数,用”&”符号隔开,每个参数的name and值用”=”符号隔开。)
fragment = 信息 Images断(字符串,용어指定网络资源中文断.例如一个网页中多个name词解释,可使用fragment直接定位到某一名词解释。(也称为锚点.))



对于这样一个URL
http://www.jb51.net:80/seo/?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的协议part分本例返回值:http:


3,window.location.host

URL 主机part分

本例返回值:www.jb51.net

4,window.location.port

URL 적립부분

如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是字符
本例返回值:”"

5,window.location.pathname

URL 的路径part分(就是文件地址)
本例返回值:/seo/

6,window.location.search

查询(参数)부분분
除了给动态语言赋值以외,我们同样可以给静态页면, 并使사용javascript来获得상信应的参数值
本例返回值:?ver=1.0&id=6

7,window.location.hash

锚点
本例返回值:#imhere

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿