preg_match で入力をチェックする必要があります。これは次の形式でなければなりません: xxx.xxx.xxx ブロックの数は異なる場合があります... これらはすべて有効な入力の例です:
001
00a.00a
0fg.001
aaa.aaa.001
001.001.002.001.001.001
まあ、おそらく次のような正規表現を書くことができます:
^([\da-z]{3}\.?)+$
しかし、ここでピリオドの量指定子の問題が発生します。つまり、「?」を使用する場合です。0 回または 1 回一致するには、どこかでドットをスキップしても一致します。たとえば、次のようになります。
000.001.0010az001
次に、{1} を使用して 1 回一致させると、最後のブロックにはドットがないため、何も一致しません。
だからどう考えたらいいのか分からない… アドバイスお願いします