我試圖將我從一個同事(在VB中實現它)中得到的正則表達式與一些PHP代碼集成在一起。正則表達式旨在驗證密碼是否滿足某些複雜性要求,但我的函數始終返回false,即使對於符合我們複雜性要求的密碼也是如此。要求是:PHP中正則表達式問題的幫助(我可能在做一些愚蠢的事情)
最少8個字符,最多20個字符,不能包含空格,必須包含至少一個(1)數字和一(1)個特殊字符。以下特殊字符可用於密碼中: - ! @#$%& *()_ + =。 ?。
我提供的正則表達式爲:
ValidationExpression = "^.*(?=.{8,20})(?=.*\d)(?=.*[a-zA-Z])(?=.*[[email protected]#$%&*()_+=.?])(?!.*\s).*$"
,功能我寫來驗證密碼是:
function validatePassword($pass){
$regex = "^.*(?=.{8,20})(?=.*\d)(?=.*[a-zA-Z])(?=.*[[email protected]#$%&*()_+=.?])(?!.*\s).*$";
return preg_match($regex, $pass);
}
我懷疑,問題是,我做一些愚蠢的,但由於正則表達式仍然困擾着我,我不知道問題是什麼。有任何想法嗎?
它看起來像如果打字機瘋了... – TMS