检查提交的URL至少有一个子目录

时间:2016-12-02 15:54:28

标签: javascript url

我需要检查提交的网址中是否至少包含一个子目录。

例如:domain.com, domain.com/domain.com/?utm=asdf将失败,而domain.com/asdfdomain.com/asdf/domain.com/asdf/asdf等会成功。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

在内存中创建<a>元素有助于您解析网址:

function checkPathname(url) {
  var el = document.createElement('a');
  el.href = url;
  return el.pathname && el.pathname !== '/';
}

console.log(checkPathname('http://www.test.com?foo=bar'));         // false
console.log(checkPathname('http://www.test.com/?foo=bar'));        // false
console.log(checkPathname('http://www.test.com/foobar?foo=bar'));  // true
console.log(checkPathname('http://www.test.com/foo/bar?foo=bar')); // true