Eメールアドレスのローカル部をイイ感じに隠すコード
概要
EメールをサービスでUIに表示する際にローカル部の一部を良い感じに隠してくれるコードを作成しました。
イイ感じというのは、表示する文字数の最大数と隠すのに必要な最小文字数を指定すれば、それを基に文字をどれだけ表示し、どれだけ隠すかを良しなにやってくれます。
コード
解説
言葉にしにくいので具体的を示します。
まず、引数の設定は以下のようにしてみます:
- 表示する先頭文字の最大文字数: 3
- 表示する末端文字の最大文字数: 2
- 必ず隠す最小文字数: 4
そして次のメールを変換させます:
- 123@example.com
- 12345@example.com
- 123456@example.com
- 123456789@example.com
- abcdefghijklmn@example.com
- Abc"@def"@example.com
- !#$%&'*+-/=?^_`.{|}~@example.com
結果は次のようになります:
- ***@example.com
- 1****@example.com
- 1****6@example.com
- 123****89@example.com
- abc*********mn@example.com
- Abc****f"@example.com
- !#$***************}~@example.com
基本的には表示する先頭/末端文字数以外を全て隠しますが、文字数が少ない場合は表示される文字をコード側で減らすように調整します。
また、隠す最小文字数を変更してあまりにも文字数が少ない場合は全て隠すこともできます。