javascript - 正则表达式检查路径是相对的还是绝对的

标签 javascript jquery regex string

我正在跟踪“a”标签上的 onclick 事件,onclick 函数将获取“a”标签的 href 属性。我想检查 href 是绝对路径还是相对路径。是否有任何正则表达式来检查它。

然后是这个模式

"/myfolder/test.txt"
"http://example.com"
"https://example.com"

这是我必须检查的其他模式。

最佳答案

这是一个使用 URI.js#is 的解决方案:

function isAbsoluteUri(str) {
  var uri = new URI(str);
  return uri.is('absolute');
}

console.log(isAbsoluteUri('/myfolder/test.txt'));
console.log(isAbsoluteUri('~/myfolder/test.txt'));
console.log(isAbsoluteUri('?hello=world'));
console.log(isAbsoluteUri('http://example.com'));
console.log(isAbsoluteUri('https://example.com'));
console.log(isAbsoluteUri('ftp://example.com'));
console.log(isAbsoluteUri('mailto:mail@example.com'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/URI.js/1.18.2/URI.min.js"></script>

关于javascript - 正则表达式检查路径是相对的还是绝对的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40124864/

相关文章:

jquery - 显示 Ajax 调用进度的最佳方式是什么?

正则表达式 - 只有一个特殊字符

javascript - Angular js 1.5 - $注入(inject)器:modulerr

javascript - 用javascript去掉剩余的值?

javascript - 触发点击链接不会改变位置哈希

regex - 正则表达式正在删除文件名的最后一个字符

regex - grep 正则表达式开始于,结束于但不包含

javascript - Promise Chain 在第一个 Promise 返回时退出

javascript - 使用函数初始化 ng-model 字符串

javascript - 如何在网页上创建 Assets 加载动画