2014-07-17 35 views
0

我有我的網頁,其中包含+分隔的字符串輸入框,例如:使用Javascript - 如何更換所有+與空格的字符串

this+is+my+string 

在頁面加載我想替換所有+一個空白。我曾嘗試:

var str = $('#MyText1'); 

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

但是我收到以下錯誤:

SyntaxError: invalid quantifier 

請注意我的應用程序採用了棱角分明v.1.2.8

+1

「轉義」加號 - >'str = str.replace(/ \ +/gi, '');'然後它的工作。 – davidkonrad

+0

@davidkonrad - 以上,我看到錯誤:錯誤:str.replace不是一個函數這是因爲我使用Angular? –

+0

已經發布了一個答案,你也忘記從輸入中提取值,你只需引用輸入框本身,並且沒有'.replace()'方法。 – davidkonrad

回答

2

你忘了提取輸入框的內容:

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

現在逃逸將工作:

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

看到演示 - >http://jsfiddle.net/8TKWZ/

+0

完美,謝謝! –

+0

,而且,他忘記了加號:-) –

5

+確實是正則表達式量詞(意思是「1個或更多」)。

你接近你的語法 - 嘗試

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

與上述,我看到錯誤:錯誤:str.replace不是一個函數這是因爲我使用Angular? –

1

您使用正則表達式替換。在正則表達式中,'+'具有特殊含義。但是,你不需要這個特殊的含義,你想要的文字字符。因此,你必須逃脫 '+'

str = str.replace(/\+/gi, ' '); 
相關問題