我使用下面的正則表達式Kohana的驗證正則表達式 - 必須有低,
->rule('password','regex', array(':value', "(?=.*?[a-z])(?=.*?[A-Z])"))
但Kohana的是抱怨說「(」是一個未知的修飾上字符是有另一種方式正則表達式的字符串,以確保。它有1頁或多個較低和1個或多個上的信嗎?
我使用下面的正則表達式Kohana的驗證正則表達式 - 必須有低,
->rule('password','regex', array(':value', "(?=.*?[a-z])(?=.*?[A-Z])"))
但Kohana的是抱怨說「(」是一個未知的修飾上字符是有另一種方式正則表達式的字符串,以確保。它有1頁或多個較低和1個或多個上的信嗎?
PHP預計額外定界符其正則表達式(和誤以爲第一組括號爲您的分隔符)。使用
->rule('password','regex', array(':value', "/(?=.*?[a-z])(?=.*?[A-Z])/"))
也許將它錨定到字符串的開頭。這樣的正則表達式將只測試一次,如果它失敗了,沒有一次的字符串中的每個字符:
->rule('password','regex', array(':value', "/^(?=.*?[a-z])(?=.*?[A-Z])/"))
如果其他字符也允許什麼?例如'A1a' ... –
@Tim Pitzcker:是的。編輯。 – hakre
謝謝,我只是固定它:d – xylar