私は正規表現が初めてで、正規表現を使用してフォーム検証を行っていました。しかし、問題は正規表現のほとんどが似ていることです
^(?=.{8})(?=.*[A-Z])(?=.*[a-z])(?=.*\d.*\d.*\d)(?=.*[^a-zA-Z\d].*[^a-zA-Z\d].*[^a-zA-Z\d])[-+%#a-zA-Z\d]+$
これは、パスワードの検証に使用しています。他のフォーム検証については、ここでそのような表現をたくさん見つけました。問題は、次のようにコードでそれらを使用する場合です
if(preg_match('^(?=.{8})(?=.*[A-Z])(?=.*[a-z])(?=.*\d.*\d.*\d)(?=.*[^a-zA-Z\d].*[^a-zA-Z\d].*[^a-zA-Z\d])[-+%@#a-zA-Z\d]+$', $password))
少なくとも 1 つのエラーが発生します。ほとんどの場合、エラーが表示されます 終了区切り文字がない、または不明な修飾子など