提取URL的中间部分并将其附加到新的外部链接以在IE8中显示

时间:2013-10-22 21:10:38

标签: javascript html slice

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

这是踢球者 - 它必须适用于IE8。

我目前正在使用HTML中的以下代码和Javascript将文本输入附加到URL,但我希望通过将用户输入作为整个URL并将其中一部分提取到结尾来自动执行该过程。基本URL。我目前正在使用HTML和Javascript打开如何在一个能够在IE8上正常运行的方法干净地处理它的建议

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

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

要显示的完整网址示例 - 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 =”和&符号可能出现不止一次在网址中。

我曾尝试切片()文本,但由于我希望切片的部分长度不一样,所以我无法做到。

1 个答案:

答案 0 :(得分:1)

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