我们很多时候需要获取url地址栏传输过来的参数,然后把获取到的参数作为参数值传到接口中。那么下面给大家介绍一种方法,如下:
假如url地址为:http://127.0.0.1:9966/index.html?id=101&name=名称,代码如下:
//获取url参数的 name 值 和 id 值 ,getId() 输出id的值,getName() 输出 name 的值
function getUrlParam(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
return function() {
if (r!=null) { return decodeURI(r[2]); } return null; //返回参数值
}
}
var getId = getUrlParam('id'); // id表示url中带的参数名
var getName = getUrlParam('name'); // name 同上,参数名
//调用方式
getId(); // 101
getName(); // 名称
汉字乱码用解码函数decodeURI()即可防止中文乱码。
提示:获取url参数值直接调用函数即可获取到该值
javascript中escape()、unescape()、encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()比较