js获取url参数的值
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"));
方式二:
输入指令:
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;
}
调用:
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request['参数1'];
参数2 = Request['参数2'];
参数3 = Request['参数3'];
参数N = Request['参数N'];
以上就是小编的分享了,希望能够帮助到大家。
js获取url参数值的两种方式
前端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")); // chenjiang
URLSearchParams基本用法get方法返回第一个与搜索参数对应的值。
如果有多个同名的参数,只返回第一个
let params = new URLSearchParams("?name=chenjiang&age=24&name=cccjjj");console.log(params.get("name")); // chenjiangconsole.log(params.get("good")); // null
getAll方法以数组的形式返回与指定搜索参数对应的所有值。
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")); // true
keys方法返回一个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"
- 11-14教育
高二春节趣事作文范文
- 04-02生活
西兰花是发物吗
- 02-23生活
2138开头是哪里的号码
- 02-27生活
电动牙刷一般充电多久
- 06-29教育
分数乘小数怎么算
- 07-01生活
最早的春联是写在什么上面
- 05-15生活
高铁一等座可以躺着吗
- 06-12生活
胸贴用一次一定要洗吗
推荐
- 1泡打粉和膨松剂是一样的吗364
- 2rhce证书能挂靠吗216
- 3镇长当选发言稿范文248
- 4元宵短语100
- 5财务出纳工作自我鉴定371
- 6石家庄山尹村镇属于哪个区395