var str = "test's t\r and t\n";
str = str.replace(/'/g, "\'");
str = str.replace(/\r/g, "\\r");
str = str.replace(/\n/g,"\\n");
是否可以在单一陈述中进行这3次替换?
我想逃避这些特殊的角色。没有逃脱它会产生一些问题。 “\ n”以下字符转到下一行。将此作为参数传递时,它不会在服务器中将其作为“\ n”。
答案 0 :(得分:4)
试试这个:
str.replace(/'|\r|\n/g, function($0) {
var trans = {"\r":"r", "\n":"n"};
return "\\" + (trans.hasOwnProperty($0) ? trans[$0] : $0);
})
答案 1 :(得分:2)
您也可以链接它们:
var str = "test's t\r and t\n";
str = str.replace(/'/g, "\'").replace(/\r/g, "\\r").replace(/\n/g,"\\n");
答案 2 :(得分:1)
var str = "test's t\r and t\n";
str = str.replace(/(\'|\r\n|\r|\n)/g, "\\");
alert("++++++++++++"+str+"++++++++++++");