通过添加值1来更新URL

时间:2016-03-28 22:29:56

标签: javascript

所以,让我们说我的网址是

"mywebsite.com/file/100/"

我想要的是将其更新为

"mywebsite.com/file/101/"

"mywebsite.com/file/102/"

(依此类推......)

无法找到关键字时。

init();

function init()
{
    searchWord("key word");
}

function searchWord(word)
{
   var pageResults = document.body.innerHTML.match(word);
   if(pageResults)
   {
       alert("word found");
   } else {
   }
}

现在我的脚本会搜索一个关键术语,当我找不到关键字时,我需要的是将页面更新为1(100到101到102等)。

我是一个JOB的菜鸟,这个代码都不是我的。我只需要帮助开发它。我已经搜索了一段时间,但我找不到多少。

感谢。

2 个答案:

答案 0 :(得分:0)

不确定这是否能获得优雅。

  • 将网址拆分为细分
  • 处理由跟踪“/”引起的空段(如果存在)。
  • 如果最后一段是数字,请将其替换为数值+ 1。
  • 将片段重新加入字符串。
  • (如果你想要尾部斜杠,你可以重新添加它。)

代码

var url = "mywebsite.com/file/100/"
var segments = url.split("/");
while(segments[segments.length-1]==""){
  segments.pop();
}
var lastSegment = segments[segments.length-1];
if(!isNaN(lastSegment)){
    segments[segments.length-1] = (parseInt(lastSegment)+1).toString();
}
updatedUrl = segments.join("/");

答案 1 :(得分:0)

一条只是为了好玩的衬垫。

var url = window.location.hostname + window.location.pathname.split('/').map(function(sgmt){return (sgmt != '' && !isNaN(sgmt)) ? parseInt(sgmt)+1 : sgmt}).join('/');

您可能希望省略window.location.hostname以使用相对网址路径。下一部分首先将网址拆分为/,然后在新数组上使用.map()方法。传递的函数查找url的非空白和数字部分。如果找到它,则会添加1.完成后,使用.join()方法再次使数组成为字符串(使用url中的新数字)。