0

我在制作一个简单的函数来获取 URL 的一部分(可变数量的字符)并将其附加到另一个 URL 然后显示它时遇到了一些困难。

这是踢球者 - 它必须在 IE8 上工作。

我目前正在使用带有 Javascript 的 HTML 中的以下代码将文本输入附加到 URL,但我想通过将用户输入作为整个 URL 并将其中的一部分提取到基本 URL 的末尾来自动化该过程。我目前正在使用 HTML 和 Javascript 来接受有关如何以可在 IE8 上正常运行的方法干净地处理它的建议

原始 URL 示例 - http://www.website.com/search?type=165498746&otheroperator?type=168574981&search?type=165498746&display

我需要提取的部分示例 - 165498746(第一次出现,直接在 search?type= 之后)

要显示的完整 URL 示例 - http://www.website.com/file?type=165498746

Javascript:

function ChangeLink() { var inputlink = document.getElementById("userinputtext"); var baselink = document.getElementById("baseurl"); baselink.href = ("http://www.website.com/search?type=" + inputlink.value); baselink.innerHTML = baselink.href; }

HTML: <form> <a id="baseurl" href="http://www.website.com">www.website.com</a> <input type="text" id="userinputtext" size="20"> <input type="button" value="Generate Profile Link" name="generate" onClick="ChangeLink()"> </form>

值得注意的是,我需要附加到链接末尾的部分文本将来自原始链接的中间,并且原始 url 的字符长度可能会发生变化,我希望附加到的实际部分也会发生变化网址。

唯一一致的部分是我希望提取的部分是在最初的“search?type=”和“&”号之后,但“search?type=”和“&”号可能在 URL 中出现多次.

我试图对文本进行切片(),但是由于我希望切片的部分的长度不同,我一直无法做到。

4

1 回答 1

1
  1. 获取 indexOf('?');
  2. 获取从 indexOf('?') 到字符串末尾的子字符串。
  3. String.split('&')
  4. 迭代拆分。
    • 对于每个拆分项目,在“=”上再次拆分
    • split 的第一项是参数的名称。
    • 拆分的第二项是值。
    • 检查它是您要查找的参数的名称还是您想要的任何名称。
于 2013-10-22T21:20:39.433 回答