Вариант функции, предоставляемой Паоло Бергантино , которая работает непосредственно со строкой:
String.prototype.addSlashes = function()
{
//no need to do (str+'') anymore because 'this' can only be a string
return this.replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}
Добавив код выше в свою библиотеку, вы сможете сделать:
var test = "hello single ' double \" and slash \\ yippie";
alert(test.addSlashes());
EDIT:
Следуя предложениям в комментариях, тот, кто обеспокоен конфликтами между библиотеками JavaScript, может добавить следующий код:
if(!String.prototype.addSlashes)
{
String.prototype.addSlashes = function()...
}
else
alert("Warning: String.addSlashes has already been declared elsewhere.");