【问题标题】:How to retrieve integer value from url of "example_3.html"如何从“example_3.html”的 url 中检索整数值
【发布时间】:2014-10-28 03:24:18
【问题描述】:

标题说明了一切。基本上,我希望使用 jQuery 检索 url 的结尾,以将一个添加到选择中并转到该页面。我从其他人那里得到了一些帮助,但我想了解它是如何工作的/为什么它不起作用:

var urlFrags = window.location.href.replace(".html", "").split("_"),

curPage = parseInt(urlFrags[urlFrags.length]),

nextPage = "example_" + (curPage + 1) + ".html";

这可能是其他地方的错误,但我正在努力修复它。 我几乎了解所有发生的事情,除了我不了解 parseInt() 之类的东西。

是否可以 '.getAsIntiger(urlFrags)' ? (我已经尝试过了,但我可能实施错误。)

【问题讨论】:

  • parseInt() 会将 String 转换为 Integer。例如,如果您有字符串“Text1”*,它将变成 1。使用那个 1 你可以执行数学方程。 *它去掉了所有不能变成数字的文本。参数及更多developer.mozilla.org/de/docs/Web/JavaScript/Reference/…
  • 如果您的格式相同,那么您也可以使用替换方法来获得所需的输出,如下所示:"example_" + (parseInt("example_3.html".replace("example_","").replace(".html","")) + 1) + ".html"

标签: javascript jquery url data-retrieval


【解决方案1】:

这里有错误:

curPage = parseInt(urlFrags[urlFrags.length]);

你应该这样做

curPage = parseInt(urlFrags[urlFrags.length-1]);

如果数组中的长度为 2,则无法访问 Array[2],因为它不存在。您必须访问 Array[1] 因为数组索引从 0 开始。

【讨论】:

  • 您先生和女士让我的一周过得愉快!
【解决方案2】:

为什么不做一个var num = parseInt(/.+?_(\d+)\.html/.exec(window.location.href)[1])

【讨论】:

  • 就我个人而言,我发现 OP 的解决方案更容易理解,而且我可以很好地阅读 Regex。此外,您假设只有数字 0-9 而不是两位/三位数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-20
相关资源
最近更新 更多