2012-07-20 53 views
5

我有一個匹配三種撇號的正則表達式,'’‘。我直接將Microsoft的最後兩個詞粘貼到正則表達式中。然而,當我測試它,我的正則表達式失敗,當我檢查我的JavaScript驗證腳本在Firefox中,我看到'’‘\而不是'’‘。我需要轉義它們還是使用ASCII格式?在正則表達式中添加特殊字符?

+0

轉義在這種情況下不起作用。試試ASCII。 – SomeKittens 2012-07-20 20:58:55

+0

其中之一的ASCI代碼是´。你能告訴我如何做到這一點? – user1436111 2012-07-20 20:59:32

+1

這可能全都會在cut'n貼上丟失。發佈完整的JS測試,你嘗試失敗。 '''''看起來像字節碼。 – sln 2012-07-20 21:04:25

回答

1

嘗試

/['\u2018\u2019]/ 

此相匹配的'’‘任何一個。

說明:

在JavaScript中的正則表達式,\u1234匹配的Unicode代碼點1234。爲了找出這種特殊情況下的正確代碼,我將這些字符複製到EditPadPro中,並將它們轉換爲Unicode代碼點。

+0

一些解釋會很好。那些「嘗試這個」 - 實際上只是給魚,但不展示如何釣魚。 – 2012-07-20 21:20:16

+0

你是我的英雄。 – user1436111 2012-07-20 21:22:14

3

使用unicode or octal codes

/\u0022/ // matches " 
/\042/ // matches " 
+0

在最新版本的JS中已棄用八進制代碼。 – zzzzBov 2012-07-20 21:09:58

+0

很高興知道。你知道爲什麼? – elclanrs 2012-07-20 21:10:54