- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要使用 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/
我是一名优秀的程序员,十分优秀!