编码
-
二进制: 以
0b
或0B
开头。 -
八进制: 以
数字0
开头表示。 -
十六进制:以
0x
或0X
开头表示。 - ascii 1byte 数字,字母大小写 回车 换行等
- base64 数字,字母大小写,+/,=做补位
- unicode : 万国码 内存统一码 \u 4e2d\u 6587
- utf-8: 变长 用于网络存储 &#x 4E2D;&#x 6587;
-
%编码: %e4%b8%ad%e6%96%87
会对=&+/进行转义,避免value解析出问题。
传输是value进行urlencode转码,否则+服务端会当做空格解析。
比如参数是a=a+b&/=&b=bb,a为a+b&/=正常解析肯定会出问题,这对value进行转码,特殊字符都以%编码替代就可以到后端正常解析。
正则
特殊字符
.
除了\n外任何字符
^$
一个开始一个结束 /^$/这样判断字符是否满足匹配
()
分组捕获 反向引用 当(?:)(?=)(?<=)(?!)不进行捕获
\
代表转义符 \d数字 \s空格 \w字母
!
取反,比如不包含abc其中任意字母:![abc] js: !/[abc]/.test("r!")
数量
{}
范围{n}{n,m}{n,}
[]
[abc] a,b或者c其中一个 [.] 相当于.
*+?
范围 {0,}{1,}{0,1} ?在+?限定符之后代表最小匹配/<.?>/
|
或 a|b
分组
(a)(b)
abcccc 匹配ab 然后 分组数组 0->a 1->b
匹配环顾
aaabbb aaa(?=
bbb) 会匹配 aaa
aaabbb aaa(?!
ccc) 会匹配 aaa
aaabbb (?>=
aaa)bbb 会匹配 bbb
aaabbb (?>!
ccc)bbb 会匹配 bbb
网友评论