检测至少三个字母或数字regexp

mer*_*kli -3 php regex validation

我需要一个如下的RegExp代码:3个字母或数字并排,不超过

例子:

  • aab是有效的

  • aaa是无效

  • abc 是有效的

  • aabbcc是有效的

  • aabbbcc是无效的(BBB)

  • aa22cc 是有效的

  • aa222cc是无效的(222)

  • xxxxxxxxxxx是无效

  • 111111111是无效

  • xx11xx11是有效的

我这样做是为了验证实际情况

Jon*_*Jon 5

如果要确保连续的相同字符不超过两个,可以使用反向引用:

/(.)\1{2}/
Run Code Online (Sandbox Code Playgroud)

此表达式将匹配任何后跟另外两个副本的字符.因此,为了确保没有三个字符的重复,请检查正则表达式是否匹配:

if(!preg_match('/(.)\1{2}/', $input)) {
    // "valid"
}
Run Code Online (Sandbox Code Playgroud)