0

文字列の長さを決定するための多くのphp正規表現とその他のオプションを見つけました.1つの文字または1つの数字が含まれている場合、文字列に2つの数字が含まれているかどうかを判断するにはどうすればよいですか?

パスワードを検証しようとしています

  • 正確に 8 文字である必要があります

  • そのうちの 1 つは大文字でなければなりません

  • そのうちの 2 つは数字でなければなりません

これには1行の正規表現ソリューションがありますか?

4

1 に答える 1

7
if (preg_match(
    '/^            # Start of string
    (?=.*\p{Lu})   # at least one uppercase letter
    (?=.*\d.*\d)   # at least two digits
    .{8}           # exactly 8 characters
    $              # End of string
    /xu',     
    $subject)) {
    # Successful match

(?=...)先読みアサーションです。特定の正規表現が現在の位置で一致するかどうかを確認しますが、実際には文字列の一部を消費しないため、それらのいくつかを連続して配置できます。

于 2012-04-27T21:54:03.273 に答える