# 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: "", ... }