如何在 Javascript 中向字符串添加斜杠?
只是一根绳子。每次有单引号时都添加 \'。
Just a string. Add \' to it every time there is a single quote.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
只是一根绳子。每次有单引号时都添加 \'。
Just a string. Add \' to it every time there is a single quote.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
replace
适用于第一个引号,因此您需要一个很小的正则表达式:replace
works for the first quote, so you need a tiny regular expression:以下 JavaScript 函数处理 '、"、\b、\t、\n、\f 或 \r 等价于 php 函数addslashes()。
Following JavaScript function handles ', ", \b, \t, \n, \f or \r equivalent of php function addslashes().
使用 JSON.stringify 可以全面、紧凑地转义字符串。自 ECMAScript 5 起,它是 JavaScript 的一部分,并受到主要较新浏览器版本的支持。
使用这种方法,特殊字符如空字节、unicode 字符和换行符
\r
和\n
也可以在相对紧凑的语句中正确转义。A string can be escaped comprehensively and compactly using JSON.stringify. It is part of JavaScript as of ECMAScript 5 and supported by major newer browser versions.
Using this approach, also special chars as the null byte, unicode characters and line breaks
\r
and\n
are escaped properly in a relatively compact statement.可以肯定的是,您不仅需要替换单引号,还需要替换已经转义的单引号:
To be sure, you need to not only replace the single quotes, but as well the already escaped ones:
如果您正在执行替换以准备将字符串发送到alert(),或者任何其他单引号字符可能会绊倒您的地方,那么您没有要求的答案可能会有所帮助。
这会将所有单引号替换为单引号的十六进制代码。
An answer you didn't ask for that may be helpful, if you're doing the replacement in preparation for sending the string into alert() -- or anything else where a single quote character might trip you up.
That will replace all single quotes with the hex code for single quote.
给你:
Gives you:
用法:alert(str.addSlashes());
参考:https://stackoverflow.com/a/9756789/3584667
Usage: alert(str.addSlashes());
ref: https://stackoverflow.com/a/9756789/3584667