2012-03-05 76 views
0

這是我的正則表達式:我想用空值替換字符串,以便只留下不需要的字符。不知何故,它返回相同的字符串,而不是替換正則表達式中定義的任何字符:javascript string.replace方法。無法返回所需的字符串

var regExpress = /^([a-zA-Z0-9!#%^*()\-\_+=|}{'";:\/.,\s]*)$/gi; 
strMessage = strMessage.replace(regExpress, ''); 

我在做什麼錯?我知道它應該很簡單,但無法弄清楚。

+4

刪除'^'和'$'。 – 2012-03-05 16:33:24

+0

如果消息不變,則正則表達式不匹配。你能提供例子嗎? – Nicocube 2012-03-05 16:34:02

回答

3

刪除^$。這些是字符串開始和結束的標記。

如果沒有這些,只有當整個字符串包含模式中指定的字符時,您的方法纔會替換字符。

+0

thanks.it起作用 – ana 2012-03-05 16:54:06

2

如果我正確理解你,你想用空字符串''替換正則表達式中指定的所有字符?

在這種情況下,你的正則表達式中有很多東西。試試這個正則表達式:

/[a-zA-Z0-9!#%^*()\-\_+=|}{'";:\/.,\s]/gi 

即使這樣可以簡化, \wa-zA-Z0-9_

/[\w!#%^*()\-+=|}{'";:\/.,\s]/gi 
相關問題