js获取url的get传值函数

Posted 一片空白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js获取url的get传值函数相关的知识,希望对你有一定的参考价值。

function getvl(name) {
   var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i");
   if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " "));
   return "";
};


用法简单的说一下:

比如url是http://blog.163.com?id=1中id的值代码如下

<script>
getvl(‘id‘);   //这样就可以了
</script>

在推荐一个权威的方法: 
推荐使用正则表达式来解析URL,其运行效率更高,代码也更加简洁。


function getArgs(){
var args = {};
var match = null;
var search = decodeURIComponent(location.search.substring(1));
var reg = /(?:([^&amp;]+)=([^&amp;]+))/g;
while((match = reg.exec(search))!==null){
args[match[1]] = match[2];
}
return args;
}.


不过这个函数是不接受参数, 获取的值将是JSON 。

再列一下location的所有属性

属性
href        完整的 URL
protocol        协议
hostname        主机名
host        主机名加端口号
port        的端口号
pathname        当前 URL 的路径部分
search        URL 的查询部分
hash        #开始的锚



























以上是关于js获取url的get传值函数的主要内容,如果未能解决你的问题,请参考以下文章

十 React路由(react-router4.x): 动态路由get传值React中使用url模块

前端js函数中直接获取springmvc后台model中传值

jaxa无法传值?

数据交互

egg.js 24.3-24.5router路由相关

NWJS fs, url, http 组合小型的服务器 ( 满足html请求, get, post 传值 )