JavaScript String.replace()所有实例和转义

时间:2014-01-28 22:46:35

标签: javascript regex replace

我有一个字符串:Dkjd(Dk39dD_2=3499(39482&#6293jd

我想用反斜杠逃避我选择的所有角色(例如,_#-)。我很困惑如何使用String.replace执行此操作。我可以在新值var中使用原始值吗?我可以使用RegEx来做到这一点吗?感谢。

3 个答案:

答案 0 :(得分:3)

使用正则表达式应该很容易。

var str = 'Dkjd(Dk39dD_2=3499(39482&#6293jd';
str = str.replace(/[_#-]/g, function(match){
    return '\\'+match;
});

console.log(str); // Dkjd(Dk39dD\_2=3499(39482&\#6293jd

答案 1 :(得分:3)

无需使用功能,请使用反向引用:

source.replace(/([_#\-])/g, "\\$1")

括号中的内容可以在替换字符串中引用为$1

答案 2 :(得分:2)

简单地说,

var str = 'Dkjd(Dk39dD_2=3499(39482&#6293jd';

str = str.replace(/([_#-])/g, '\\$1');

希望它有所帮助。