使用jQuery 或者 JavaScript 怎么解析 URL 地址

使用jQuery 或者 JavaScript 怎么解析 URL 地址,第1张

很多时候我们有从一个URL中提取域名,查询关键字,变量参数值等的需要,而万万没想到可以让浏览器方便地帮我们完成这一任务而不用我们写正则去抓取。方法就在JS代码里先创建一个a标签然后将需要解析的URL赋值给a的href属性,然后就得到了一切我们想要的了。

var a = documentcreateElement('a');  

ahref = 'htt p:/ />

利用这一原理,稍微扩展一下,就得到了一个更加健壮的解析URL各部分的通用方法了。

function parseURL(url) {

   var a =  documentcreateElement('a');

   ahref = url;

   return {

       source: url,

       protocol: aprotocolreplace(':',''),

       host: ahostname,

       port: aport,

       query: asearch,

       params: (function(){

           var ret = {},

               seg = asearchreplace(/^\/,'')split('&'),

               len = seglength, i = 0, s;

           for (;i<len;i++) {

               if (!seg[i]) { continue; }

               s = seg[i]split('=');

               ret[s[0]] = s[1];

           }

           return ret;

       })(),

       file: (apathnamematch(/\/([^\/#]+)$/i) || [,''])[1],

       hash: ahashreplace('#',''),

       path: apathnamereplace(/^([^\/])/,'/$1'),

       relative: (ahrefmatch(/tps:\/\/[^\/]+(+)/) || [,''])[1],

       segments: apathnamereplace(/^\//,'')split('/')

   };

}

用法

var myURL = parseURL('htt p:/ /abccom:8080/dir/inde xh tmlid=255&m=hello#top');

myURLfile;     // = 'indexhtml'

myURLhash;     // = 'top'

myURLhost;     // = 'abccom'

myURLquery;    // = 'id=255&m=hello'

myURLparams;   // = Object = { id: 255, m: hello }

myURLpath;     // = '/dir/indexhtml'

myURLsegments; // = Array = ['dir', 'indexhtml']

myURLport;     // = '8080'

myURLprotocol; // = '>

1、post是不行的,用get的话,还是可以的,如aahtmldata=data 这样,在aahtml里面,再用js来解析当前的url就可以获取到data了。

2、一句话概括,纯html页面之间的传值可以通过url后面的参数进行比如:

bhtmlteacher=xx&time=xxx。

3、回到问题中,首先从ahtml到bhtml需要一个跳转方式,比方说在ahtml页面里面你有一个链接:

<a href="bhtml" id="toPageB">跳转到b页面</a>。

剩下的就好办了,依次取得你需要的参数,然后修改页面url:var dataFromLi=[$("#Teachername")text(),$("#Credit_hour")text()];$("#toPageB")attr("href","bhtmldata="+dataFromLi)。然后在bhtml页面解析url,获取参数。

跳转的时候直接把该参数加到地址上,然后再另一个页面接收这一环节跟jquery关系不大。

你好,需要写一个js来处理:

<script type="text/javascript">

var str=windowlocationsearch;

var ret=strmatch(/\w+\=(=($|\&))/g);

if(!ret){

    return;

}

var param={},

    i=-1,

    len=retlength,

    ar;

    

for(;str=ret[++i];){

    ar=strsplit('=');

    param[ar[0]]=ar[1];

}

var name=paramname;

    

if(name){

    alert("name的值是:"+name);

}

</script>

这段js会把你链接中的name属性值取出来。

function jsGetUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&])(&|$)"); var r = windowlocationsearchsubstr(1)match(reg); if (r != null) return unescape(r[2]); return null; }

例如

当前你的URL是:

>

以上就是关于使用jQuery 或者 JavaScript 怎么解析 URL 地址全部的内容,包括:使用jQuery 或者 JavaScript 怎么解析 URL 地址、jquery怎么实现页面之间传递参数、jquery ajax如何接收url传递的参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9480731.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存