encodeURIComponent编码反斜杠 \ (正则匹配)

记录一个小bug...

 

前言废话:

1. 功能需求:修改输入框的内容,获取字符串传给后端保存。

2. bug历程:刚开始直接获取value值传过去。后来测试发现%&这些特殊字符无法传递后,在前端用encodeURIComponent()方法对输入框内容进行特殊字符编码,后端解码即可。后来测试又发现在内容中加入反斜杠 \ 又会有问题。


解决方法,一句代码:

encodeURIComponent(str.replace(/\\/g,"\\\\"));

 

简单解释一下:

 看图,声明单个反斜杠都会报错,因为编码语言中,反斜杠 \ 代表转义,它和紧跟它的字符构成了转义字符,例如 "\" " 表示字符 " 

 所以转义字符中用 '\\' 表示一个反斜杠字符 '\' ,

  待完善 ~~



posted on 2018-09-28 15:04  anyxl  阅读(2011)  评论(0编辑  收藏  举报