方法一:采用正则
1:获取问号?后边的参数
标签(关键词): 获取问号后边的参数 获取井号号后边的参数
这里获取的是search后边的字符串
http://localhost:8080?access_token=AT-2022-zLNp4dX5byr6izgqF8y-RAzARLguJGp4&token_type=bearer&expires_in=28800&refresh_token=RT-1251-uR5uDmYpz50LIMtBor91OVE7YCDMj5lP
function GetQueryString(name)
{
const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
let meetArr = window.location.search.substr(1).match(reg);
if (meetArr != null) {
console.log(meetArr[2], "meetArr[2]");
return meetArr[2]
} else {
return null
}
}
// 调用方法
alert(GetQueryString("参数名1"));
2:获取井号#号后边的参数
这里获取的是hash后边的字符串
http://localhost:8080/#access_token=AT-2022-zLNp4dX5byr6izgqF8y-RAzARLguJGp4&token_type=bearer&expires_in=28800&refresh_token=RT-1251-uR5uDmYpz50LIMtBor91OVE7YCDMj5lP
function GetHashString(name) {
const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
let meetArr = window.location.hash.substr(1).match(reg);
if (meetArr != null) {
console.log(meetArr[2], "meetArr[2]");
return meetArr[2]
} else {
return null
}
}
方法二:传统方法
function UrlSearch()
{
var name,value;
var str=location.href; //取得整个地址栏
var num=str.indexOf("?")
str=str.substr(num+1); //取得所有参数 stringvar.substr(start [, length ]
var arr=str.split("&"); //各个参数放到数组里
for(var i=0;i < arr.length;i++){
num=arr[i].indexOf("=");
if(num>0){
name=arr[i].substring(0,num);
value=arr[i].substr(num+1);
this[name]=value;
}
}
}
var Request=new UrlSearch(); //实例化
alert(Request.id);
取自网络常用代码
相关说明:
1:match() 找到一个或多个正则表达式的匹配。
定义和用法
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
语法
stringObject.match(searchvalue)
stringObject.match(regexp)
参数-描述
searchvalue 必需。规定要检索的字符串值。
regexp 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
返回值
它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。
2:substr()从起始索引号提取字符串中指定数目的字符。
语法:
stringObject.substr(start,length)
参数-描述
start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
3:window.location 对象所包含的属性
属性-描述
hash 从井号 (#) 开始的 URL(锚)
search 从问号 (?) 开始的 URL(查询部分)
host 主机名和端口号
hostname 主机名
href 完整的 URL
pathname 路径部分
port 端口号
protocol 协议