2012-02-17 137 views
0

我有這個字符串:JavaScript的正則表達式錯誤

£1,134.00 (£1,360.80 inc VAT) 

,我試圖提取號碼得到如下:

['1,134.00','1,360.80'] 

使用在Javascript以下正則表達式:

/\d*,?\d+\.\d{2}/g 

它在Chrome中工作正常,但在Opera中出現此錯誤:

Uncaught exception: Syntax error, unrecognized expression: (£1,360.80 inc VAT) 
Error thrown at line 75, column 784 in <anonymous function: k.error>(g) in http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js: 
    throw"Syntax error, unrecognized expression: "+g; 

很明顯,我想它在所有現代瀏覽器的工作,但我不知道是什麼原因造成這一點。我也嘗試了其他幾種正則表達式,並且正如我認爲可能是這樣的那樣,研究了轉義字符。

有什麼想法?

讓我知道是否需要更多信息。謝謝

+2

你正在使用的整個代碼是什麼?顯然你有jQuery的地方,但現在你沒有顯示jQuery。 – 2012-02-17 17:10:26

+0

確實 - 看到完整的代碼會很有趣,因爲這個錯誤必須發生在其他地方。 – hallvors 2012-02-18 09:27:07

+0

最好的辦法是設置一個jsFiddle來演示你的問題。或者至少編輯你的問題的相關部分,而不僅僅是正則表達式。 – kapa 2012-02-18 10:18:00

回答

1

無法識別的表達式:(英鎊1,360.80含增值稅) < =這不是你的正則表達式中的錯誤。你的字符串不是一個字符串。不知怎的,它被混合和解釋爲你的JavaScript的一部分。