Javascript - 如何用空格替换字符串中的所有+

时间:2014-07-17 11:44:51

标签: javascript jquery angularjs angularjs-scope

我的页面上有输入框,其中包含以+分隔的字符串,例如:

this+is+my+string

在页面加载时,我想用空白替换所有+。我试过了:

var str = $('#MyText1');

str = str.replace(/+/gi, ' ');

但是我收到以下错误:

SyntaxError: invalid quantifier

请注意我的应用程序正在使用Angular v.1.2.8

3 个答案:

答案 0 :(得分:5)

+确实是正则表达式中的量词(意思是" 1或更多")。

您接近语法 - 尝试

str = str.replace(/\+/g, ' ');

答案 1 :(得分:2)

您忘记提取输入框的内容:

var str = $('#MyText1').val();
                        ^^^^^

现在逃脱将起作用:

str = str.replace(/\+/gi, ' ');

参见演示 - >的 http://jsfiddle.net/8TKWZ/

答案 2 :(得分:1)

您正在使用正则表达式替换。在正则表达式中,'+'具有特殊含义。但是,你不想要那个特殊含义,你想要文字字符。因此,您必须逃避'+'

str = str.replace(/\+/gi, ' ');