我想在客户端转义javascript实体。例如: -
如果我的输入字符串为tes"t
,则结果应为tes\"t
jquery是否为此提供了内置函数?
答案 0 :(得分:1)
在我的黑暗中,这是一个非常疯狂,几乎是愚蠢的镜头,但是......
如果您使用像PHP这样的服务器端语言将变量的内容输出到JavaScript中,那么您应该使用json_encode
,因为它会为您处理所有转义,无论变量类型如何。
另一方面,如果你(我真的希望你不是)做这样的事情:
var input = "test"t";
并试图在JavaScript中正确地逃避...这不会起作用。这是一个语法错误。您需要手动转义文字。
答案 1 :(得分:0)
Kevin van Zonneveld在这里提供了与PHP addslashes
相当的JavaScript:
http://phpjs.org/functions/addslashes/
function addslashes(str) {
// example 1: addslashes("kevin's birthday");
// returns 1: "kevin\\'s birthday"
return (str + '')
.replace(/[\\"']/g, '\\$&')
.replace(/\u0000/g, '\\0');
}
基于此功能,我猜您可能希望将此功能添加到此prototype
的{{1}}。
String
DEMO:http://jsfiddle.net/naokiota/6F6aN/6/
希望这有帮助。