設計について質問させてください

例えばmixiでいうコミュニティーをユーザーが作れるとします。

コミュニティー作成者(管理人)は
設立段階で、
メンバーになる人達がコミュニティーに登録する際、
コミュニティー内で利用する
メンバーIDのフォーマット(バリデーションパターン)を指定する必要があります。

メンバーIDのフォーマットはどんなパターンにも
応じられる仕組みにしたいです。

例えば

コミュニティーAでは 477-794-954 のような(数字三桁)-(数字三桁)-(数字三桁)フォーマット

コミュニティーBでは英数半角なら何でもOK

コミュニティーCでは47472のような数字五桁


上記のようにメンバーIDは多岐に渡ります

こういった場合はどのようなテーブル設計、
またフローで対処するのが一般的ですか?

コミュニティー内でのメンバーリストでの
メンバーIDによるソートなども考えて実装したいところです。