我需要使用JavaScript修改值,使其准备好作为SQL插入查询的一部分。目前我有以下代码来处理单引号'字符。
value = value.replace(/'/g, "\\'");
这段代码没有问题。现在我注意到单独的反斜杠会导致错误。
如何移除这些单独的反斜杠?
value = value.replace(/'/g, "\\'");
这段代码没有问题。现在我注意到单独的反斜杠会导致错误。
如何移除这些单独的反斜杠?
value = value.replace(/\\/g, "whatever");
...这会将字符串中的所有反斜杠替换为“whatever”。请注意,我必须写两个反斜杠而不是一个。这是因为在正则表达式字面量中,反斜杠用于引入各种特殊字符和字符类,并且也用作转义符号 - 正则表达式字面量中的两个反斜杠(与字符串中一样)表示字符串中的一个实际反斜杠。
要将单个反斜杠更改为两个反斜杠,请使用:
value = value.replace(/\\/g, "\\\\");
你应该使用数据库库提供的转义函数,自己编写会带来麻烦。