我正在跟踪“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/