encodeURIComponent编码反斜杠 \ (正则匹配)
记录一个小bug...
前言废话:
1. 功能需求:修改输入框的内容,获取字符串传给后端保存。
2. bug历程:刚开始直接获取value值传过去。后来测试发现%&这些特殊字符无法传递后,在前端用encodeURIComponent()方法对输入框内容进行特殊字符编码,后端解码即可。后来测试又发现在内容中加入反斜杠 \ 又会有问题。
解决方法,一句代码:
encodeURIComponent(str.replace(/\\/g,"\\\\"));
简单解释一下:
看图,声明单个反斜杠都会报错,因为编码语言中,反斜杠 \ 代表转义,它和紧跟它的字符构成了转义字符,例如 "\" " 表示字符 "
所以转义字符中用 '\\' 表示一个反斜杠字符 '\' ,
待完善 ~~