登录
首页 >  文章 >  前端

如何利用JavaScript正则表达式从URL中提取斜杠之间的值?

时间:2024-11-19 12:49:01 370浏览 收藏

哈喽!今天心血来潮给大家带来了《如何利用JavaScript正则表达式从URL中提取斜杠之间的值?》,想必大家应该对文章都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习文章,千万别错过这篇文章~希望能帮助到你!

如何利用JavaScript正则表达式从URL中提取斜杠之间的值?

js正则表达式提取url中斜杠之间的值

如何利用javascript正则表达式从url中提取斜杠(/)之间的值?

下面提供了一段代码,可以帮助你解决这一问题:

function extractinfo(pattern, url) {
  const urlregex = new regexp(pattern.replace(/(\{|:)[\w-]+(\}|:)/g, "[\\w-]+").replace(/\//g, "\/"));
  if(!urlregex.test(url)) {
      throw new error("输入的url不符合pattern");
  }
  let keys = pattern.split("/");
  let values = url.replace(/(\?|#).*/, "").split("/");
  let result = {};
  keys.foreach((v,i) => {
      if(/(\{|:)\w+(\}|:)/.test(v)) {
          result[v.replace(/(\{|:|\})/g,"")] = values[i];
      }
  })
  return result;
}

使用方法:

  • pattern:要匹配的正则表达式。
  • url:要提取信息的url。

使用示例:

let pattern = "{note}/:pakid:/corrinsdetail/{corrinsaleid}/{corrinspakid}/{corrinsinsta}/{corrinsvernr}/{verfrom}/{verto}/{name}/:tab:";
let url = "0001668882/41/corrinsdetail/0001023444/41/0020751259/0005/756/756/sap_basis/validitydetails";
console.log(extractinfo(pattern, url));

输出结果:

{
  note: "0001668882",
  pakid: "41",
  corrInsAleid: "0001023444",
  corrInsPakId: "41",
  corrInsInsta: "0020751259",
  corrInsVernr: "0005",
  verFrom: "756",
  verTo: "756",
  name: "SAP_BASIS",
  tab: "ValidityDetails"
}

本篇关于《如何利用JavaScript正则表达式从URL中提取斜杠之间的值?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>