1

Googleライブラリのlibphonenumberを見たことがありますが、これを使用して、国際的なWebサイトでユーザーが入力した電話番号をフォーマットすることを考えています。内部CRMは電話システムと統合されており、顧客が電話をかけたときに正しいユーザーアカウントの詳細を取得できるため、最終結果は一貫している必要があります。電話システムには、オフィスと同じ国内から発信された場合でも、そのユーザーの国際コードが常に含まれます。

したがって、ドロップダウンに国際ダイヤルコードを提供し、残りの電話フィールドは自由形式のままにしますが、数字、スペース、角かっこ、ダッシュに限定します。次に、数字以外のすべてを削除することにより、エントリがクレンジングされます。

libphonenumberは、最初の健全性チェックを実行して、有効な番号であるかどうかを判断し、正しい国際形式に変換します。

市外局番と加入者番号を別々に分けるのはやり過ぎだと思いますが、私の質問は、完全に国際形式の最終的なエントリのみを保存するか、国際コードを残りの番号(2 dbフィールドなど)とは別に保存するかです。これを行うための正当な技術的理由がありますか、それとも純粋にビジネス上の決定ですか?

4

2 に答える 2

2

...私の質問は、完全に国際化された最終的なエントリのみを保存するか、それとも残りの番号(2 dbフィールドなど)とは別に国際コードを保存するかです。これを行うための正当な技術的理由がありますか、それとも純粋にビジネス上の決定ですか?

データベース行にフィールドを作成するときはいつでも、その情報を保存するビジネス上の理由が必要です。

あなたの例では、国際ダイヤルコードを個別に保存することで、さまざまな国から電話をかけている顧客の数を判断できます(国際ダイヤルコードをグループ化して合計します)。また、同じ国内で電話をかける場合は、国際ダイヤルコードは必要ありません。したがって、国際ダイヤルコードなしで電話番号を表示すると、ほとんどの場合、ユーザーの混乱が少なくなります。

国際電話番号を別々のフィールドに分割することは困難であり、ほとんどの企業にとっておそらくやり過ぎでしょう。ただし、ビジネス上の理由がある場合は、ほとんどの電話番号を地域、地域、および地域のセグメントに分割できます。(私はすべての国際電話番号形式に精通しているわけではないので、追加のセグメントが必要になる場合があります。)

于 2012-11-13T18:30:28.590 に答える