# util
[Doc]URL[Doc]Query Strings (查询字符串)[Doc]Utilities (实用函数)[Basic]正则表达式
# URL
┌─────────────────────────────────────────────────────────────────────────────┐
│ href │
├──────────┬┬───────────┬─────────────────┬───────────────────────────┬───────┤
│ protocol ││ auth │ host │ path │ hash │
│ ││ ├──────────┬──────┼──────────┬────────────────┤ │
│ ││ │ hostname │ port │ pathname │ search │ │
│ ││ │ │ │ ├─┬──────────────┤ │
│ ││ │ │ │ │ │ query │ │
" http: // user:pass @ host.com : 8080 /p/a/t/h ? query=string #hash "
│ ││ │ │ │ │ │ │ │
└──────────┴┴───────────┴──────────┴──────┴──────────┴─┴──────────────┴───────┘
@前端进阶之旅: 代码已经复制到剪贴板
# 转义字符
常见的需要转义的字符列表:
| 字符 | encodeURI |
|---|---|
' ' |
'%20' |
< |
'%3C' |
> |
'%3E' |
" |
'%22' |
| ``` | '%60' |
\r |
'%0D' |
\n |
'%0A' |
\t |
'%09' |
{ |
'%7B' |
} |
'%7D' |
| ` | ` |
\\ |
'%5C' |
^ |
'%5E' |
' |
‘%27’ |
想了解更多? 你可以这样:
Array(range).fill(0)
.map((_, i) => String.fromCharCode(i))
.map(encodeURI)
@前端进阶之旅: 代码已经复制到剪贴板
range 先来个 255 试试 (doge
# Query Strings
query string 属于 URL 的一部分, 见上方 URL 的表. 在 Node.js 中有内置提供一个 querystring 的模块.
| 方法 | 描述 |
|---|---|
| .parse(str[, sep[, eq[, options]]]) | 将一个 query string 解析为 json 对象 |
| .unescape(str) | 供 .parse 调用的内置解转义方法, 暴露出来以供用户自行替代 |
| .stringify(obj[, sep[, eq[, options]]]) | 将一个 json 对象转换成 query string |
| .escape(str) | 供 .stringify 调用的内置转义方法, 暴露出来以供用户自行替代 |
Node.js 内置的 querystring 目前对于有深度的结构尚不支持. 见如下:
const qs = require('qs'); 