# Functions

isURL(value) ⇒ boolean

检测 value 是否为 URL 对象类型

isURLSearchParams(value) ⇒ boolean

检测 value 是否为 URLSearchParams 对象类型

isDataURL(value) ⇒ boolean

检测 value 是否为 Base64 格式的 DataURL (即 base64 图片)

isAbsoluteURL(value) ⇒ boolean

检测 value 是否是 绝对地址(如以 http 开头的网址)

isIpURL(value) ⇒ boolean

检测 value 是否是 ip 地址开始的 URL(如以 ip 开头的网址)

isRelativeURL(value) ⇒ boolean

检测 value 是否是 相对地址(如以 './','../','/','目录名' 开头的网址)

mergeURL(rootURL, otherURL) ⇒ String

合并多个URL部分为完整的 URL 地址

resetURL(url, [query], [useHistoryMode]) ⇒ URL | null

解析并设置指定的 query 参数到指定的 url

# isURL(value) ⇒ boolean

检测 value 是否为 URL 对象类型

Kind: global function
Returns: boolean - 若 value 为 URL 对象类型返回 true,否则返回 false

Param Type Description
value * 待检测的值

Example

const url = new URL('http://www.example.com/dogs');
isURL(url);
// => true

# isURLSearchParams(value) ⇒ boolean

检测 value 是否为 URLSearchParams 对象类型

Kind: global function
Returns: boolean - 若 value 为 URLSearchParams 对象类型返回 true,否则返回 false

Param Type Description
value * 待检测的值

Example

const url = new URL('http://www.example.com/dogs?id=123');
isURLSearchParams(url.searchParams);
// => true

console.log(url.searchParams.get("id"));
// => '123'

# isDataURL(value) ⇒ boolean

检测 value 是否为 Base64 格式的 DataURL (即 base64 图片)

Kind: global function

Param Type Description
value * 要检查的值。

# isAbsoluteURL(value) ⇒ boolean

检测 value 是否是 绝对地址(如以 http 开头的网址)

Kind: global function

Param Type Description
value * 要检查的值。

Example

isAbsoluteURL('http://www.xxx.com');
// => true

isAbsoluteURL('ftp://200.0.0.1/xxx');
// => true

isAbsoluteURL('//xxx.com/path');
// => true

isAbsoluteURL('/upload/xxx.jpg');
// => false

# isIpURL(value) ⇒ boolean

检测 value 是否是 ip 地址开始的 URL(如以 ip 开头的网址)

Kind: global function

Param Type Description
value * 要检查的值。

Example

isIpURL('http://127.0.0.1/path');
// => true

isIpURL('ftp://200.0.0.1/path');
// => true

isIpURL('//172.16.8.6/path');
// => true

isIpURL('http://www.xxx.com');
// => false

# isRelativeURL(value) ⇒ boolean

检测 value 是否是 相对地址(如以 './','../','/','目录名' 开头的网址)

Kind: global function

Param Type Description
value * 要检查的值。

Example

isRelativeURL('a/b/c/i.html');
// => true

isRelativeURL('a/b/c/q?k=123');
// => true

isRelativeURL('../a/b/c');
// => true

isRelativeURL('//a.com/b/c');
// => false

# mergeURL(rootURL, otherURL) ⇒ String

合并多个URL部分为完整的 URL 地址

Kind: global function

Param Type Description
rootURL String 如 'http://img.xxx.com'
otherURL String 如 '2021-01-30','upload/xxx.jpg'

Example

mergeURL('http://img.xxx.com', '2021-01-30', 'upload/xxx.jpg');
// => 'http://img.xxx.com/2021-01-30/upload/xxx.jpg'

mergeURL('2021-01-30', 'upload/xxx.jpg');
// => '2021-01-30/upload/xxx.jpg'

# resetURL(url, [query], [useHistoryMode]) ⇒ URL | null

解析并设置指定的 query 参数到指定的 url

Kind: global function
Returns: URL | null - 若 url 为非 URL 对象,也不为绝对地址,则返回 null

Param Type Default Description
url string | URL 绝对地址
[query] object 需要设置的 query 数据集合
[useHistoryMode] boolean | null 是否使用 history 路由模式(若省略,则自动从 url 检测是否包含 # 来判断)

Example

resetURL('http://www.baidu.com/?k=xxx', {a:1,b:2});
// => URL { href: "http://www.baidu.com/?a=1&b=2&k=xxx", search: "?a=1&b=2&k=xxx", ... }

resetURL('http://www.baidu.com/#/?k=xxx', {a:1,b:2});
// => URL { hash: "#/?a=1&b=2&k=xxx", href: "http://www.baidu.com/#/?a=1&b=2&k=xxx", search: "", ... }