電話番号が等しいかどうかを比較するのに役立つモジュールはありますか?
たとえば、次の3つの番号は同等です(英国からダイヤルする場合)
+44 (0)181 1234123
00441811234123
0181 1234123
これを教えてくれるperlモジュールはありますか?
電話番号が等しいかどうかを比較するのに役立つモジュールはありますか?
たとえば、次の3つの番号は同等です(英国からダイヤルする場合)
+44 (0)181 1234123
00441811234123
0181 1234123
これを教えてくれるperlモジュールはありますか?
CPANで最も近いのはNumber::Phoneです。これはアクティブなプロジェクトであり、英国の電話番号をサポートしています。あなたが与える特定の例でうまくいくはずです。いくつかの国がサポートされています。
他の国の電話番号を持っている場合、現地の書式設定の特異性により、事態がさらに難しくなる可能性があります。
必要なコードが存在せず、それを自分で作成する必要があると仮定すると、実行する必要がある基本的な操作が 2 つあります。
コンテキストを適用します。ここで、ダイヤルする電話の場所を考慮に入れます。通話が国際電話でない場合は、国コードを指定します。通話が長距離でない場合は、市外局番などを提供します。もちろん、これにはロケールごとにいくつかの規則が必要です。
ノーマライズ。意味のないスペースと句読点を削除し、国際電話番号のプレフィックス (NANPA では「011」、その他の国では「00」ですが、場合によってはもっと奇妙なものも多い) を標準の「+」に変換します。
これらの 2 つの手順を適切に完了した後、実際に等しい数値であるすべての入力は、同一の出力文字列を与えるはずです。