2013-04-05 120 views
0

我想知道是否有人可以幫助我。撇號在正則表達式

我使用以下正則表達式作爲我的表單驗證的一部分。

else if(!preg_match('/^[A-Za-z0-9 .,;-]{5,60}$/', $locationname)) 

我必須承認,它採取了我一段時間遠遠得到這個,但我遇到我一直無法解決。

我只是想知道somone是否可以告訴我,請問如何在這個正則表達式中將撇號作爲可接受的字符。

許多的感謝和親切的問候

克里斯

回答

3

使用反斜線撇號,\'

preg_match('/^[A-Za-z0-9 .,;\'-]{5,60}$/', $locationname) 
+0

@RitchieHindle你好,謝謝你花時間回覆我的文章和解決方案。我在我的代碼中實現了更改,不幸的是它看起來不起作用,因爲我無法通過撇號。我實際上有兩個文件,我需要對原始文件進行更改 '「正則表達式」:/^$ |^[A-Za-z0-9。,; - ] + $ /'和preg_match('/^ [A-Za-z0-9。,; - ] {5,60} $ /',$ locationname))'改爲: '「正則表達式」:/^$ |^[A-Za-z0 -9。,; \' - ] + $ /,'和'preg_match('/^[A-Za-z0-9。,;''] {5,60} $ /',$ locationname)' 非常感謝和親切的問候 – IRHM 2013-04-05 15:57:13

1

嘗試使用\

否則,如果(的preg_match逃逸(! '/^[A-Za-z0-9。,; - '] {5,60} $ /',$ locationname))

範圍 - 也需要轉義(\ - )。請嘗試以下

else if(!preg_match('/^[A-Za-z0-9 .,; \-\']{5,60}$/', $locationname)) 
+0

Hi @Ram,感謝您花時間回覆我的文章和建議的解決方案。我試圖實現這一點,但不幸的是,當我運行腳本時,我收到語法錯誤。非常感謝和親切的問候。 Chris – IRHM 2013-04-05 17:08:34

+0

我已經編輯了我的評論,爲 - (範圍)添加了換碼。現在試試這個 – Ram 2013-04-05 18:42:25

+0

Hi @Ram,非常感謝你對此持續的幫助。不幸的是,我無法使腳本與您的解決方案一起工作,但經過一些工作後,我已經能夠使用我發佈的解決方案。 – IRHM 2013-04-06 14:03:32

0

在additon我受到的幫助下,經過這個一些更多的工作,我發現soluton是:else if(!preg_match('/^$|^[-a-zA-Z0-9 .,;\ \']{5,60}$/', $locationname)){

問候

克里斯