gpt4 book ai didi

javascript - 如何使用 RegExp 将反斜杠替换为双反斜杠?

转载 作者:可可西里 更新时间:2023-11-01 02:52:58 55 4
gpt4 key购买 nike

我需要使用 javascript 修改该值,以使其准备好作为 SQL 插入查询的一部分。

目前我有以下代码来处理单引号 ' 字符。

value = value.replace(/'/g, "\\'");

这段代码没有问题。现在我注意到独立的反斜杠导致了错误。

如何删除那些独立的反斜杠?

最佳答案

Now I noticed that stand-alone backslashes are causing errors.

您正在操作的字符串中的反斜杠不会对替换 ' 字符产生任何影响。如果您的目标是替换反斜杠 字符,请使用:

value = value.replace(/\\/g, "whatever");

...这会将字符串中的所有反斜杠替换为“whatever”。请注意,我必须写两个反斜杠而不是一个。那是因为在 regular expression literal , 反斜杠用于引入各种特殊字符和字符类,也用作转义符——正则表达式文字中的两个反斜杠(如在字符串中)表示字符串中的单个实际反斜杠。

要将单个反斜杠更改为两个反斜杠,请使用:

value = value.replace(/\\/g, "\\\\");

请再次注意,要在替换字符串中获得文字反斜杠,我们必须对这两个反斜杠中的每一个进行转义——导致替换字符串中总共有四个反斜杠。

I need to modify the value using javascript, to make it ready to be put as part of a SQL insert query.

您不想手动执行此操作。任何允许您进行数据库查询的技术(JDBC、ODBC 等)都将提供某种形式的准备参数化 语句(link),它处理为您解决这些逃避问题。自己动手几乎肯定会在您的软件中留下可能被利用的安全漏洞。您希望使用一个团队的工作,该团队必须仔细考虑这个问题,并在问题出现时定期更新生成的代码,而不是单独飞行。此外,如果您的 JavaScript 在客户端上运行(大多数情况下是这样,但绝不是全部——我一直在服务器端使用 JavaScript),那么您什么操作都可以转义字符串安全,因为可以欺骗客户端对服务器的请求,从而完全绕过您的客户端代码。

关于javascript - 如何使用 RegExp 将反斜杠替换为双反斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8684975/

55 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com