0

如何在 javascript 中替换 '$txt$'。我想替换字符串中的所有匹配项

这是我试过的

if (html.indexOf('$txt$') > -1) {
    html = html.replace(/$txt$/ig, '<input type=text></input>');
}

但它不会替换字符串。我的错误是什么。请帮帮我

4

3 回答 3

8

您需要做的就是转义 $ 符号,因为它在正则表达式中具有含义。将其更改为

html = html.replace(/\$txt\$/ig, '<input type="text" />');

应该没问题:)

编辑:$ 表示正则表达式中的行尾:)

于 2012-04-19T12:42:02.277 回答
0

html = html.replace(/[$]txt[$]/ig, ''); 用这个

于 2012-04-19T12:46:26.067 回答
0

您正在使用正则表达式进行替换,并且$是正则表达式为行尾/字符串保留的特殊字符。

您需要$通过在它前面加上一个反斜杠来转义它\以使其达到其文字字符:

if (html.indexOf('$txt$') > -1) {
    html = html.replace(/\$txt\$/ig, '<input type=text></input>');
}
于 2012-04-19T12:48:32.803 回答