電話番号正規化ルール

 

トピックの最終更新日: 2010-12-14

Lync Server 2010 では、アドレス帳サービスから番号を受け取った後に、正規化ルールが適用されます。 アドレス帳サービスは、正規化ルールを適用する前に、空白や必須でない文字を電話番号から削除します。 必須でない文字には、 !、@, .、-、および * などがあります。

この処理命令により電話番号内に空白や必須でない文字が存在する可能性を考慮する必要がなくなるため、正規化ルールが簡素化されます。 正規化に先立ち番号をフォーマットするという方法での変更は、Lync Server 製品の他の部分での正規化で使用される方法との一貫性を保つ目的で実行されました。 この処理命令は、番号がクライアントに提示される際にその番号を正しくフォーマットする必要がある正規化ルールも簡素化します。

以前のリリースでは、正規化の正規表現ルールは、次のような形式でした。

^\(?(\d\{3})?[\s\-\./](\d{3})[\s()\-\./](\d{4})[\s]*[x|X](\d{5})$

+1$1$2$3;ext=$4

検出される空白や必須でない文字がないため、Lync Server では、以前のルールは次のように書き直すことができます。

(\d{10})[x|X](\d{5})

+1$1;ext=$2

新しい処理方法では、Office Communications Server の以前のバージョンで機能していた一部の正規化ルールが失敗する可能性があります。 現在、ルールが空白および他の特殊文字を削除した後で適用されるため、これらの特殊文字を考慮する正規表現式は予想どおりには機能しなくなります。 次にその例を示します。

\s*\(\s*\d\d\d\s*\)\s*\-\s*\d\d\d\s*\-\s*\d\d\d\d

前段階の処理で「-」文字が削除されているため、この式は失敗します。 ()- に対する一致は、入力文字列の予想される文字に一致できなくなります。 事前処理された新しいフォーマットで機能するように以前の正規表現を解決するには、次のように簡素化できます。

\d{10}

新しい正規表現ルールは、単純に 10 桁と一致します。