1Introduction
- description:url utils
- author:#云淡然
- create:未明确
- update:未明确
- github:https://github.com/blearjs/blear.utils.url
2Example
var url = require('blear.utils.url');
3Static
3.1.parse(url): result
解析 URL 为对象信息。
var ret = url.parse('http://aa.bb.cc:9090/dd/ee/ff/?gg=hh&ii=jj&gg=kk#!/ll/mm/nn/?oo=pp&qq=rr&oo=ss#tt');
ret = {
"href": "http://aa.bb.cc:9090/dd/ee/ff/?gg=hh&ii=jj&gg=kk#!/ll/mm/nn/?oo=pp&qq=rr&oo=ss#tt",
"base": "http://aa.bb.cc:9090",
"protocol": "http:",
"host": "aa.bb.cc:9090",
"hostname": "aa.bb.cc",
"port": "9090",
"pathname": "/dd/ee/ff/",
"search": "?gg=hh&ii=jj&gg=kk",
"hash": "#!/ll/mm/nn/?oo=pp&qq=rr&oo=ss#tt",
"hashstring": "#!/ll/mm/nn/?oo=pp&qq=rr&oo=ss#tt",
"querystring": "gg=hh&ii=jj&gg=kk",
"query": {
"gg": [
"hh",
"kk"
],
"ii": "jj"
},
"origin": "http://aa.bb.cc:9090",
"statical": true
};
3.1.1url
- 类型:
String
- 说明:url 字符串
3.1.2result
- 类型:
Object
- 说明:字段信息
3.1.2.1result.href
- 类型:
String
- 说明:原始 url
3.1.2.2result.base
- 类型:
String
- 说明:协议 + 域名 + 端口
3.1.2.3result.protocol
- 类型:
String
- 说明:协议
3.1.2.4result.host
- 类型:
String
- 说明:域名 + 端口
3.1.2.5result.hostname
- 类型:
String
- 说明:域名
3.1.2.6result.port
- 类型:
String
- 说明:端口
3.1.2.7result.pathname
- 类型:
String
- 说明:路径
3.1.2.8result.search
- 类型:
String
- 说明:查询字符串,包括
?
3.1.2.9result.hash
- 类型:
String
- 说明:哈希字符串
3.1.2.10result.hashstring
- 类型:
String
- 说明:哈希字符串,同
result.hash
3.1.2.11result.querystring
- 类型:
String
- 说明:查询字符串,不包括
?
3.1.2.12result.query
- 类型:
Object
- 说明:查询信息,对
querystring
的解析结果,详细参考 blear.utils.querystring。
3.1.2.13result.origin
- 类型:
String
- 说明:协议 + 域名 + 端口,同
result.base
3.1.2.14result.statical
- 类型:
Boolean
- 说明:是否静态,我们认为包含协议或自动协议的 url 都为静态的
3.2.stringify(result): url
将对象转换为 url。
url.stringify({
pathname: '/a/b.c'
});
// => "/a/b.c"
3.2.1result
- 类型:
Object
- 说明:至少需要包括
pathname
3.2.2url
- 类型:
String
- 说明:转换后的 url
3.3.matchPath(url, rule, [options]): result
url 路径匹配。
url.matchPath('/user/123', '/user/*');
// => {}
url.matchPath('/user/123/page/456', '/user/**');
// => {}
url.matchPath('/user/123/page/456', '/user/:userId/page/:pageNo');
// => {
// userId: "123",
// pageNo: "456"
// }
3.3.1url
- 类型:
String
- 说明:待匹配的 url
3.3.2rule
- 类型:
String
- 说明:匹配规则
*
:匹配一级路径**
:匹配多级路径:param
:匹配路径表达式
3.3.3options
- 类型:
Object
- 说明:匹配配置
3.3.4options.ignoreCase
- 类型:
Boolean
- 说明:是否忽略大小写
- 默认:
false
3.3.5options.strict
- 类型:
Boolean
- 说明:是否严格模式,严格模式即
/a/b !== /a/b/
- 默认:
false
3.3.6result
- 类型:
Object
- 说明:匹配失败返回
null
3.4.setQuery(url1, key, [val]): url2
设置查询字符串。
url.setQuery('/', 'a', 1);
// => "/?a=1"
url.setQuery('/', {a: 1, b: 2});
// => "/?a=1&b=2"
3.4.1url1
- 类型:
String
- 说明:设置前的 url
3.4.2key
- 类型:
String | Object
- 说明:可以是单个
key
,也可以是多个key
的对象集合
3.4.3val
- 类型:
String
- 说明:如果
key
是一个对象,则省略val
;如果是单个key
,则需要填值
3.4.4url2
- 类型:
String
- 说明:设置后的 url
3.5.removeQuery(url1, key): url2
从 url 上移除指定查询字段。
url.removeQuery('/?a=1&b=2', 'a');
// => "/?a=1"
url.removeQuery('/?a=1&b=2', ['a', 'b']);
// => "/?"
3.5.1url1
- 类型:
String
- 说明:设置前的 url
3.5.2key
- 类型:
String | Array
- 说明:可以是单个
key
,也可以是多个key
的数组集合
3.5.3url2
- 类型:
String
- 说明:设置后的 url
3.6.qrcode(options): url
根据参数生成二维码 URL 地址。使用的是百度网盘服务(https://pan.baidu.com/share/qrcode
)。
3.6.1options
- 类型:
String | Object
- 说明:需要转换为二维码地址的文本或描述配置
3.6.2options.size
- 类型:
String
- 说明:内容尺寸,单位 px
- 默认:
300
3.6.3options.text
- 类型:
String
- 说明:文本
- 默认:
""
3.6.4url
- 类型:
String
- 说明:二维码地址
3.7.resolve(from, ...to): url
合并并解决 url。更多参考 blear.utils.path。
url.resolve('http://example.com/a/b/c/d', 'e/f/g');
// => "http://example.com/a/b/c/e/f/g"
3.7.1from
- 类型:
String
- 说明:源 url
3.7.2...to
- 类型:
String
- 说明:目标 url,可以是多个,多个的话会连续合并
3.7.3url
- 类型:
String
- 说明:合并后的 url
3.8.join(from, ...to): url
仅合并 url。更多参考 blear.utils.path。
url.join('http://example.com/a/b/c/d', 'e/f/g');
// => "http://example.com/a/b/c/d/e/f/g"
3.8.1from
- 类型:
String
- 说明:源 url
3.8.2...to
- 类型:
String
- 说明:目标 url,可以是多个,多个的话会连续合并
3.8.3url
- 类型:
String
- 说明:合并后的 url
4Dependencies
- blear.utils.access
- blear.utils.array
- blear.utils.debug
- blear.utils.object
- blear.utils.path
- blear.utils.querystring
- blear.utils.typeis
5Reference
- 二维码开放平台:www.topscan.com
- URI 百度百科:baike.baidu.com
- URL 百度百科:baike.baidu.com