如何从 URL 获取多个逗号分隔的值
How do I get multiple comma separated values from URL
我有一个网址,如下所示:
http://www.mysite.com/index.html?x=x1&x=x2&x=x3
我如何使用JavaScript或JQuery获得如下值:
var x='x1,x2,x3'
var url = "http://www.mysite.com/index.html?x=x1&x=x2&x=x3";
var params = url.match(/'?(.*)$/)[1].split('&');
var values = [];
for(var i=0; i<params.length; i++){
values.push( params[i].match(/=(.*)$/)[1] );
}
var result = values.join(","); // "x1,x2,x3"
编辑:这是一个更好的解决方案,可让您选择所需的参数。这是我发现埋藏在我的一个项目中的东西,我并没有写它的每一部分。
function $_GET(param) {
var query = window.location.search.substring(1);
var vars = query.split('&');
var values = [];
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (urldecode(pair[0]) == param) {
values.push(urldecode(pair[1]));
}
}
return values.join(",");
}
// Decode URL with the '+' character as a space
function urldecode(url) {
return decodeURIComponent(url.replace(/'+/g, ' '));
}
如果你直接点击网址,你可以把它用作
var fieldValue = ['x1','x2','x3'];
var searchValue = 'x='+ fieldValue.join(',');
window.location.search = searchValue;
这将命中当前 url 以搜索给定参数的数据。
如果要手动创建网址,请点击搜索,然后
var url = "http://www.mysite.com/index.html";
window.location.href = url;
var fieldValue = ['x1','x2','x3'];
var searchValue = 'x='+ fieldValue.join(',');
window.location.search = searchValue;
现在,您可以根据需要搜索值。
我认为你需要的是PURL。有关详细用法和指南,请参阅 https://github.com/allmarkedup/purl<</p>
function GetUrlValue(VarSearch){
var SearchString = window.location.search.substring(1);
var VariableArray = SearchString.split('&');
for(var i = 0; i < VariableArray.length; i++){
var KeyValuePair = VariableArray[i].split('=');
if(KeyValuePair[0] == VarSearch){
return KeyValuePair[1];
}
}
}
在这里阅读 http://javascriptproductivity.blogspot.in/2013/02/get-url-variables-with-javascript.html
您可以使用
jquery在jquery中轻松找到query string
split
尝试使用此函数获取Query String
数组对象:
function getUrlVars()
{
var vars = [];
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[1]);
}
return vars;
}
该函数返回一个数组/对象,其中包含您的 URL 参数及其值。因此,您可以使用 jquery .join()
将其转换为逗号分隔值:
var result = vars.join(",");
尝试使用jsfiddle
也许使用正则表达式:
var s = window.location.search;
var foo = s.match(/x=([0-9a-zA-Z]+)/g).join(",").replace(/x=/g, ""); // x1,x2,x3
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- Angular JS IE9 Hashbang url rewriting
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 直接下载文件,而不是从window.open(url)
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 通过js在新选项卡中有条件地打开url
- CKFinder 3为所选文件返回错误的URL
- 如何获取不属于我项目的上一页的URL
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在URL中传递JS对象
- 将纯文本URL转换为可单击链接
- Javascript html每点击一次就会更改url
- 以角度管理动态URL
- Regex来验证texarea输入,该输入必须是用新行分隔的URL
- 如何从 URL 获取多个逗号分隔的值
- Regexp以逗号", *"分隔的url'列表
- Jquery Ajax在同一函数中获取对分隔url的请求
- 如何将逗号分隔的多选择值传递到表单提交上的url
- 在经典ASP中使用javascript传递逗号分隔的列表到url