【问题标题】:Javascript error replace on a string and url redirectionJavascript错误替换字符串和url重定向
【发布时间】:2015-05-20 08:43:00
【问题描述】:

我写了以下代码,但是有一个奇怪的问题: 该算法正在运行,但我的本地主机重定向到另一个端口
例如:
http://localhost:8080 变成 http://localhost:8180(或类似的东西)
当我在以下行中添加评论时,端口不会改变

url = url.replace(url[url.indexOf("&activeTabHomeAgregateSite=") + 27], toAppend);

所以我确定问题出在下面一行,但我不知道为什么,也不知道是否有其他方法可以做到这一点?

 if (url.includes("&activeTabHomeAgregateSite=")) {
    url = url.replace(url[url.indexOf("&activeTabHomeAgregateSite=") + 27], toAppend);
    obj.href = url;
}

【问题讨论】:

  • 你想达到什么目的?
  • @VisioN 我有一个类似的 URL:“localhost:8080/netmg/view/…”我想将“&activeTabHomeAgregateSite=1”的“1”更改为另一个数字

标签: javascript parsing redirect localhost


【解决方案1】:

根据您在comment 中提到的,最简单的方法可能是使用正则表达式和String.prototype.replace

obj.href = url.replace(/(&activeTabHomeAgregateSite=)\d+/, '$1' + another_number);

这将检查给定的参数是否实际上是一个数字并进行替换。

【讨论】:

  • @JeromeCampeaux 不客气:) 好在你甚至不需要检查字符串中是否存在参数:正则表达式会为你做所有事情。
  • 对这种东西非常有用^^
猜你喜欢
  • 2012-06-25
  • 2019-03-02
  • 2017-06-15
  • 2016-01-31
  • 1970-01-01
  • 2012-07-23
  • 2019-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多