replace为JavaScript中的单个反斜杠?
我正在使用Node.js创build一个乳胶模板系统。 作为这个系统的一部分,我需要通过给它们加一个反斜杠,来转义任何带有特殊含义的字符。
我读过双反斜线用来插入文字反斜线:
> var input = "hello & 100%" > input.replace(/([&%$#_{}])/g, "\\$1") 'hello \\& 100\\%'
不。 我也读过,因为它是在一个string内,我需要双重逃避反斜杠:
> input.replace(/([&%$#_{}])/g, "\\\\$1") 'hello \\\\& 100\\\\%'
不。 而只使用一个反斜杠也不会这样做:
> input.replace(/([&%$#_{}])/g, "\$1") 'hello & 100%'
那么我该如何使用replace()
插入一个反斜杠?
实际上,第一种方法是正确的,可行的。 实际上使用两个反斜杠来构成一个反斜杠。
console.log("hello & 100%".replace(/([&%$#_{}])/g, "\\$1")); // "hello \& 100\%"
如果console.log
给你一些麻烦,不应该尝试alert
。 你也需要使用你没有做的返回值。