在重定向之前检查 JavaScript 中的相对 URL

Check for relative URL in JavaScript before redirecting

我想在 JavaScript 中进行检查,确认传递给重定向到的 URL 是相对的 URL 而不是绝对的。

虽然我想知道是否有更好的方法来实现这一目标,但我一直在考虑做与此代码段类似的事情?

var relativePath = document.location.hash.substring(1);
var re = new RegExp("^/[a-z0-9/.]+$");
if (re.test(relativePath)) {
  document.location = relativePath;
}

您可以检查 url 的开头而不是它包含的内容,RegEx 也不是必需的。基本上,所有绝对 URL 都将以 "http://" 或 "https://" 开头,而相对

则不会。