我想从切片网址按名称获取查询字符串值。我尝试了很多方法来获得价值,但它没有用。
例如。 : - http://example.com/xyz/12-13/pqr/55-66
我希望得到xyz和pqr值,分别为12-13和55-66。
我怎么能得到?
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
console.log(getParameterByName("xyz"));
返回null ....
我怎样才能帮助我
提前致谢
答案 0 :(得分:0)
这样的事可能吗?我只是在脑海里做到了......
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
parts= url.split('/'),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
for (i = 0; i < parts.length; i++) {
if (parts[i] === name) {
return parts[i + 1];
}
}
}
console.log(getParameterByName("xyz"));
答案 1 :(得分:0)
试试这个代码......
var url = "http://example.com/xyz/12-13/pqr/55-66"
function getParameterByName(name) {
var toArray = url.split("/");
for(arr in toArray){
if(toArray[arr]==name && arr < toArray.length-1){
return toArray[parseInt(arr)+1];
}
}
return "No value Found";
}
console.log(getParameterByName("xyz"));
答案 2 :(得分:0)
var splittedPath = new URL('http://example.com/xyz/12-13/pqr/55-66').pathname.split('/');
console.log(splittedPath[splittedPath.indexOf('xyz') + 1]);
答案 3 :(得分:0)
请简单地传递您的参数名称,尝试以下功能。
function GetParamValuesFromQueryString(param) {
var url = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < url.length; i++) {
var urlparam = url[i].split('=');
if (urlparam[0].toLowerCase() == param.toLowerCase()) {
return urlparam[1];
}
}
}
console.log(getParameterByName("pqr"));
console.log(getParameterByName("xyz"));