javascript parseUrl函数(来自国外的获取网址url参数)

函数代码


代码如下:

function parseURL(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('/')
};
}

用法:


代码如下:

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; // = Array = ['dir', 'index.html']
myURL.port; // = '8080'
myURL.protocol; // = 'http'
myURL.source; // = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'

演示代码:

function parseURL(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

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 一个JavaScript函数把URL参数解析成Json对象

    问题:请编写一个JavaScript函数parseQueryString,它的用途是把URL参数解析为一个对象. eg:var obj=parseQueryString(url); 创建对象的三种形式: 一: var Person=new Object(); Person.name="Sun"; Person.age=24; 二: var Person=new Object(); Person["name"]="Sun"; Person[&quo

  • 一个非常全面的javascript URL解析函数和分段URL解析方法

    一.URL解析函数 复制代码 代码如下: <script>  /** *@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= 'a

  • 浅谈javascript的url参数parse和build函数

    Parse: function getParam() { var param = new Object() var item = new Array(); if (location.search == "") { return param; }; var query = location.search.substring(1); var list = query.split('&'); for(var i = 0; i < list.length; i++) { item

  • JavaScript中的parse()方法使用简介

    Javascript Date.parse() 方法接受一个日期字符串,并返回自1970年1月1日午夜的毫秒数. 语法 Date.parse(datestring) 注:括号内的数据是可选的 下面是参数的详细信息: datestring : 一个字符串,表示日期 返回值: 自1970年1月1日午夜的毫秒数. 例子: <html> <head> <title>JavaScript parse Method</title> </head> <b

  • javascript parseUrl函数(来自国外的获取网址url参数)

    函数代码 复制代码 代码如下: function parseURL(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

  • Javascript 获取链接(url)参数的方法[正则与截取字符串]

    当然,我们也可以用正则直接匹配,文章中也给出了一个正则的例子. 分解链接的方式: 复制代码 代码如下: <script type="text/javascript"> <!-- // 说明:Javascript 获取链接(url)参数的方法 function getQueryString(name) { // 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空 if(location.href.indexOf("?")==-1 || l

  • JavaScript数据在不同页面的传递(URL参数获取)

            网页中,我们常常遇到这种情况,当我们在某个页面输入信息的时候,会跳转到另一个页面,并且会将我们输入的信息传递到另一个页面中,怎样操作呢? 今天,我们就来实战一下,比如,现在有两个页面,当我们在一个页面输入用户信息的时候,就会跳转到另一个页面并显示,xx欢迎登录的界面. 先来看看设计思路: 第一个登录页面,里面有提交表单, action 提交到index.html页面 第二个页面,可以使用第一个页面的参数,这样实现了一个数据不同页面之间的传递效果 第二个页面之所以可以使用第一个页面

  • javascript/jquery获取地址栏url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 复制代码 代码如下: window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识 2.jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情 首先看看单纯的通过javascript是如何来获取url中的某个参数 复制代码 代码如下: function

  • Javascript 获取链接(url)参数的方法

    方法1:将链接当作字符串 ,按照链接的格式分解,然后获取对应的参数值. 方法2:用正则直接匹配. 关键字:parameter 参数:location.href,url ,链接,javascript 方法1: 分解链接方式: 复制代码 代码如下: <script type="text/javascript"> function getQueryString(name) { // 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空 if(location.href.

  • JS 正则表达式(学习笔记2)匹配网址url参数

    . 匹配除换行符的任意字符 \w 匹配字母,数字,下划线,汉字 \s 匹配任意空白符 \d 匹配数字 ^ 匹配字符开始位置 $ 匹配字符结束位置 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复N次 {n,} 重复N次或更多次 {n,m} 重复N次或m次url参数匹配的问题 var str="http://ladjkfldfjlfjlafjlfk/-1-1.html?sdlfjsdlkfjsdlfjo";//这是一个url //要求把URL里面-1.html

  • PHP获取网址的顶级域名函数代码

    PHP获取网址的顶级域名函数 目前国际顶级域名有:com|edu|gov|int|mil|net|org|biz|info|pro|name|museum|coop|aero|xxx|idv|mobi|cc|me 地域型域名比较多,应该是每个国家地区都会有吧,有心可以去收集,不过据我了解这个域名都是2个字母构成的,它可以单独使用也可以喝国际顶级域名结合使用地域型域名如: cn 中国 tw 台湾 hk 香港 域名例子: jb51.cn baidu.com jb51.com.cn 以jb51.dom

  • javascript 获取url参数和script标签中获取url参数函数代码

    url paramter: 复制代码 代码如下: //lastest: var getArgs=function() {//get url querystring var params=document.location.search,reg=/(?:^\?|&)(.*?)=(.*?)(?=&|$)/g,temp,args={}; while((temp=reg.exec(params))!=null) args[temp[1]]=decodeURIComponent(temp[2]);

  • 获取JavaScript异步函数的返回值

    今天研究一个小问题: 怎么拿到JavaScript异步函数的返回值? 1.错误尝试 当年未入行时,我的最初尝试: <script> function getSomething() { var r = 0; setTimeout(function() { r = 2; }, 10); return r; } function compute() { var x = getSomething(); alert(x * 2); } compute(); </script> 2.回调函数

  • JavaScript封闭函数及常用内置对象示例

    本文实例讲述了JavaScript封闭函数及常用内置对象.分享给大家供大家参考,具体如下: 封闭函数 在封闭函数内部定义的函数与外部函数尽管同名也没有关系,同理,定义的变量也可以同名. 封闭函数的写法,一是加括号,一是加感叹号. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>封闭函数</title> &

随机推荐