javascript - 如何使用 jquery 将 URL 字符串分成几部分并插入到变量中

标签 javascript jquery html

我有一个网址:

http://example.org/collections/inventory/cf-size-m+cf-type-capri+cf-vendor-manduka 

我使用此脚本获取 URL 参数并将它们插入到变量中:

 <script>      
 var getUrlParameter2 = function getUrlParameter(sParam) {
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;
    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : sParameterName[1];
        }
    }
};
var name = getUrlParameter2('myvar');  
             $("#Inventory").html(name);                          
      document.write('<p>URL: '+name+'</p>');
      </script> 

当我有这样的东西时它会起作用:

`http://example.org/collections/inventory/?myvar=resultsblabla`

所以回到上面的 URL:

http://example.org/collections/inventory/cf-size-m+cf-type-capri+cf-vendor-manduka

我想要其中 cf-size 变量和 m 值,如此继续所有其他操作。

如果有不清楚的地方,请告诉我,以便我可以再次修改问题。感谢您的帮助。

最佳答案

您可以使用以下 JavaScript 代码来完成此操作:

var url = "http://example.org/collections/inventory/cf-size-m+cf-type-capri+cf-vendor-manduka";

var lstIdxOfSlash = url.lastIndexOf("/");
var paramPart = url.substring(lstIdxOfSlash + 1);
var paramValArray = paramPart.split("+");

var keyValPair = {};

for (var i = 0; i < paramValArray.length; i++) {

  var lstIdxOfDash = paramValArray[i].lastIndexOf("-");
  
  var key = paramValArray[i].substring(0,lstIdxOfDash);
  var val = paramValArray[i].substring(lstIdxOfDash+1);
                                       
  keyValPair[key] = val;                                 
}

console.log(keyValPair);

关于javascript - 如何使用 jquery 将 URL 字符串分成几部分并插入到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39517313/

相关文章:

html - ul 在 1 行不同的屏幕分辨率

javascript - 如何使用单选按钮值中的符号来计算两个数字?

javascript - 当您将鼠标悬停在其中的文本上时,侧边菜单会消失

javascript - 如何动态更新其他页面的内容

html - Safari 中具有显示 flex 的按钮高度不统一

javascript - 部署在事件域中时,ajax 调用不起作用

javascript - 如何在 Javascript 中获取字符的 Unicode 代码点?

jquery - 在 Internet Explorer 8 中加载 html() 后无法使用 jquery 选择元素,Firefox 工作正常

java - jQuery和Java之间的编码问题

jquery - 加号/减号切换而不是文本