js获取url参数的值是怎样的呢?下面就让我们一起来了解一下吧:
一般来说,使用js获取url中的某个参数值,可以通过将url的参数转换成数组形式,然后再通过for循环逐个查找数组元素,将参数值找出来,不过除了这种方法之外还有更简易的,可以采用正则分析法。
参考范例:
方式一:
输入指令:
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
调用:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
方式二:
输入指令:
<Script language="javascript">
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
</Script>
调用:
<Script language="javascript">
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request['参数1'];
参数2 = Request['参数2'];
参数3 = Request['参数3'];
参数N = Request['参数N'];
</Script>
以上就是小编的分享了,希望能够帮助到大家。
前端JS操作URL参数,一个api搞定
简介
URLSearchparams 接口定义了一些实用的方法来处理 URL 的查询字符串。
实例返回一个iterator可以遍历所有键/值对的对象,可以直接用在 for...of 结构中。
MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/URLSearchParams
简单试用一下let params = new URLSearchParams("?name=chenjiang&age=24");console.log(params.get("name")); // chenjiangURLSearchParams基本用法get方法返回第一个与搜索参数对应的值。
如果有多个同名的参数,只返回第一个
let params = new URLSearchParams("?name=chenjiang&age=24&name=cccjjj");console.log(params.get("name")); // chenjiangconsole.log(params.get("good")); // nullgetAll方法以数组的形式返回与指定搜索参数对应的所有值。
let params = new URLSearchParams("?name=chenjiang&age=24&name=cccjjj");console.log(params.getAll('name')); // ["chenjiang","cccjjj"]append可以插入一个新的参数。
追加一个新的参数,如果重名了也不会被覆盖的。
let params = new URLSearchParams("?name=chenjiang&age=24");params.append("name", "cccjjj"); // 追加一个重名的console.log(params.getAll('name')); // ["chenjiang","cccjjj"]delete方法可以删除指定名称的所有搜索参数。
let params = new URLSearchParams("?name=chenjiang&age=24&name=cccjjj");params.delete("name");// 有两个name一并删除console.log(params.getAll("name")); // []set方法用于设置和搜索参数相关联的值
如果设置前已经存在匹配的值,该方法会删除多余的,如果将要设置的值不存在,则创建它。
let params = new URLSearchParams("?name=chenjiang&age=24");params.set("name", "cccjjj"); console.log(params.getAll('name')); // ["cccjjj"]entries方法返回一个iterator,允许遍历该对象中包含的所有键/值对。
let params = new URLSearchParams("?name=chenjiang&age=24");// 显示键/值对for (var val of params.entries()) { console.log(val[0] "---" val[1]);}// 打印结果"name---chenjiang""age---24"forEach方法允许通过回调函数来遍历 URLSearchParams 实例对象上的键值对
let params = new URLSearchParams("?name=chenjiang&age=24");params.forEach(function (value, key, searchParams) { /* value: 当前遍历到的键值 key: 当前遍历到的键名 searchParams: 当前调用 forEach 方法的实例对象 */ console.log(value, key);});// 打印结果"chenjiang" "name""24" "age"has方法返回一个 Boolean 表示一个指定的键名对应的值是否存在。
let params = new URLSearchParams("?name=chenjiang&age=24");console.log(params.has("name")); // truekeys方法返回一个iterator,遍历器允许遍历对象中包含的所有键。
let params = new URLSearchParams("?name=chenjiang&age=24");for(var key of params.keys()) { console.log(key);}// 打印结果"name""age"values方法返回一个iterator,该遍历器允许遍历对象中包含的所有值。
let params = new URLSearchParams("?name=chenjiang&age=24");for(var val of params.values()) { console.log(val);}// 打印结果"chenjiang""24"toString方返回搜索参数组成的字符串
let params = new URLSearchParams("?name=chenjiang&age=24");console.log(params.toString()); // "name=chenjiang&age=24"