小书签解析 url 中的 id 并重建一个新的

问题描述

我有一个印象笔记网址

https://www.evernote.com/shard/s5/client/snv?noteGuid=18fd15e2-9581-47db-8140-0b94dc3b9f96&noteKey=6846ea69a9afa4f5

我想用 javascript 将其转换为桌面应用程序 url

evernote:///view/s5/18fd15e2-9581-47db-8140-0b94dc3b9f96/18fd15e2-9581-47db-8140-0b94dc3b9f96/

问题归结为如何在 noteGuid= 之后和 &noteKey 之前获得 id

编辑

我找到了一种解析 noteGuid 的巧妙方法

var noteGuid = location.search.match(new RegExp("noteGuid" + "=(.*?)($|\&)","i"))[1];

解决方法

只需使用 .substring()indexOf()

var input = document.getElementsByTagName("input")[0];
function getParameter(startAt,endAt){
  var val = input.value;
  var id = val.substring(val.indexOf(startAt)+startAt.length+1,val.indexOf(endAt));
  var url = "evernote:///view/s5/"+id+"/";
  console.log(url);
}
<input value="https://www.evernote.com/shard/s5/client/snv?noteGuid=18fd15e2-9581-47db-8140-0b94dc3b9f95&noteKey=6846ea69a9afa4f5"><button onclick="getParameter('?noteGuid','&noteKey')">Parse</button>

您可以使用 window.location 检索当前网址。