2011-05-02 65 views
3

我試過:(Incase所有的斜線使它很難閱讀,第一行應替換正斜槓,第二行應替換反斜槓,第三行應替換星號。如何做一個字符串在JavaScript中的反斜槓全局替換

newbigbend = bb_val.replace(/\//gi,""); 
newbigbend = bb_val.replace(/\\/gi,""); 
newbigbend = bb_val.replace(/*/gi,""); 

全部更換正斜槓,反斜槓和星號。但是,當瀏覽器獲得的中間線newbigbend = bb_val.replace(/\\/gi,"");它認爲它未終止的評論。我知道使用轉義替換正斜槓。不知道有關返回

+0

是什麼bb_val包含哪些內容?你想要什麼? – shahkalpesh 2011-05-02 07:06:29

+0

你可以用一個正則表達式而不是三個:'/ [\/\\\\ *] /' – Znarkus 2011-05-02 07:16:49

回答

6

Andrew Cooper's answer對於第三條語句出錯的原因而言是正確的。但是,您每次都會覆蓋newbigbend,所以根本看不到前兩個替換的結果。

如果你想用什麼來代替所有的斜線,反斜線和星號,這樣做:

newbigbend = bb_val.replace(/[/\\*]/g, ""); 

注意你不需要i標誌,沒有這些字符是區分大小寫的反正。 (並且請注意,在[]之內,您不需要轉義/*,因爲它們在那裏沒有特殊含義。)Live example

但是,如果你想把它當作無論出於何種原因三個單獨的語句,然後在第二個兩使用newbigbend(並添加反斜線安德魯標記上):

newbigbend = bb_val.replace(/\//gi,""); 
newbigbend = newbigbend.replace(/\\/gi,""); 
newbigbend = newbigbend.replace(/\*/gi,""); 
+0

完美的工作,謝謝TJ – 2011-05-02 07:33:43

+0

@Mike:不用擔心,很高興幫助。 – 2011-05-02 07:53:41

1

您還需要轉義*

newbigbend = bb_val.replace(/\*/gi,""); 
相關問題