我想驗證一些用戶輸入,但我的正則表達式在遇到變音符時失敗。我正在談論像ăĂ
等字符。正則表達式的變音問題
我應該添加到正則表達式代碼,所以它應該也驗證從輸入內的變音符號?
謝謝!
P.S .:如果有關係,我使用PHP和CakePHP框架。
這是我目前使用的用於驗證用戶輸入一段代碼:return preg_match('|^[0-9a-zA-Z_-\s]*$|', $value);
我想驗證一些用戶輸入,但我的正則表達式在遇到變音符時失敗。我正在談論像ăĂ
等字符。正則表達式的變音問題
我應該添加到正則表達式代碼,所以它應該也驗證從輸入內的變音符號?
謝謝!
P.S .:如果有關係,我使用PHP和CakePHP框架。
這是我目前使用的用於驗證用戶輸入一段代碼:return preg_match('|^[0-9a-zA-Z_-\s]*$|', $value);
假設你想匹配的字母,然後讓Unicode字母應該有所幫助:
使用/\p{L}+/u
例如,如果你想匹配一系列字母。不要忘記/u
(Unicode)修飾符。
你的情況:
return preg_match('|^[0-9\p{L}_\s-]*$|u', $value);
應該工作。
另外,使用|
作爲正則表達式定界符可能不是一個好主意。對於目前的正則表達式/
會做得很好;其他選擇是~
或#
,因爲它們很少出現在文本中,並且在正則表達式中沒有任何特殊含義。
非常感謝您的詳細解釋! – linkyndy 2011-04-26 17:37:11
如果您不告訴我們您的正則表達式是什麼,我們該如何幫助您? – Gabe 2011-04-26 16:44:13
對不起,忘記了吧! – linkyndy 2011-04-26 16:47:50