前回はE164形式に変換することによって、連絡先カードに電話番号を表示させることができることを書きました。
実は、この連絡先カードの情報はADに電話番号が入っていないのであれば、ユーザー自身で記入することもできます。
とはいえ、全てのユーザーがこのような入力を行うのは難しいですよね~
そこで、ユーザーが多く現状で電話番号が記入されているのに書き換えるのはめんどくさい。そんな時は正規化を利用します。
ただし、入力されている電話番号は「0123456789」という0AB-J形式ではなく
(012)345-6789
012(345)6789
012-345-6789
括弧やハイフンなどが入っている場合がありますので、これを排除するように正規化します。
#0AB-J
^(0d{9})$
$1#0A0
^(0[57-9]0d{8})$
$1#012(345)6789
^(d{2,5})((d{2,5}))(d{2,5})$
$1$2$3#(012)345-6789
^((d{2,5}))(d{2,5})-(d{2,5})$
$1$2$3#012-345-6789
^(d{2,5})-(d{2,5})-(d{2,5})$
$1$2$3#(03)12345678
^((d{2,5}))(d+)$
$1$2
これを「Company_Phone_Number_Normalization_Rules.txt」に記載します。
そうすると、ADから電話番号情報が転送されます。
こうなれば、他のユーザーが連絡先カードを開けば電話番号が表示されるはずです。
今回テストしてちょっと変なのは、連絡先カードの電話番号情報に「-」ハイフンが残っているものがあることです。ちなみにクリックしてみるとハイフンは無視されてその番号に電話されることは確認しました。
いや~、実は正規化の記述方法に関しては
の著者である牟田口さんに聞いちゃいました(笑)最初は何が何だかわかりませんでしたが、やっと記述の意味がわかりました。