次のような RegExp コードが必要です: 3 文字または数字が並んでいます。
例:
aab有効ですaaaは無効ですabc有効 ですaabbcc有効ですaabbbccは無効です(bbb)aa22cc有効 ですaa222ccは無効です(222)xxxxxxxxxxxは無効です111111111は無効ですxx11xx11有効です
実物を確認するためにやってます
次のような RegExp コードが必要です: 3 文字または数字が並んでいます。
例:
aab有効です
aaaは無効です
abc有効 です
aabbcc有効です
aabbbccは無効です(bbb)
aa22cc有効 です
aa222ccは無効です(222)
xxxxxxxxxxxは無効です
111111111は無効です
xx11xx11有効です
実物を確認するためにやってます
連続する同一文字が 2 つ以下であることを確認したい場合は、後方参照を使用できます。
/(.)\1{2}/
この式は、それ自体のコピーが 2 つ続く任意の文字に一致します。したがって、3 文字の繰り返しがないことを確認するには、正規表現が一致しないことを確認します。
if(!preg_match('/(.)\1{2}/', $input)) {
// "valid"
}
あなたには2つの要件があります(そうです):
これはあなたがそれを行う方法です:
if (preg_match(
'/^ # Start of string
(?! # Assert that it is not possible to match...
.* # any string,
(.) # followed by any character
\1{2} # which is repeated twice.
) # (End of lookahead)
[a-z0-9]* # Match a string that only contains ASCII letters and digits
$ # until the end of the string.
\Z/ix', # case-insensitive, verbose regex
$subject)) {
# Successful match
}
regex101で参照してください。