在js中转义javascript实体?

时间:2014-05-21 08:30:59

标签: javascript jquery html

我想在客户端转义javascript实体。例如: -

如果我的输入字符串为tes"t,则结果应为tes\"t

jquery是否为此提供了内置函数?

2 个答案:

答案 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/

希望这有帮助。