この質問は Android に固有のものではありませんが、タグを含めました。
電話番号をある種の標準形式 (理想的には文字列) で格納できるようにする必要があります。そこでは、等価性をすばやくテスト/評価できます (したがって、文字列が理想的です)。
私はすでにいくつかの答えを見つけましたが、最高のものはhttp://developer.android.com/reference/android/telephony/PhoneNumberUtils.htmlを指していました (ライブラリを使用してそれを実行しても問題ありません)
しかし、これでは十分ではありません。さまざまな形式の数値を試してみました。編集可能なファクトリでそのクラスの静的メソッドのいくつかを使用することを学びましたが、期待していたフォームが返されないようです。
私は、電話番号ハッシュのようなものを期待していました。同じ番号を表す2 つの入力は、この「標準形式」で同じものを生成し、この標準形式をダイヤルして問題ないことを期待していました。さまざまな + などはすべて、この標準形の省略形になると思いました。
そのようなものが現在存在するかどうかはわかりません。
「現在の地域」(または国)を意味するものがあることを理解しています。これが、固定電話が市外局番を省略できる理由です。現在の場所の形式を返す関数を期待していました(ただし、これは携帯電話には当てはまりません。たとえば、市外局番を先頭に追加する固定電話回線だった場合、これは (より) 私が存在すると仮定している「標準形式」に近いものになります)
電話システムがどのように機能するかを考えると(私は認めていると思います)、電話番号の完全な形式が存在することはかなり確信しています。地球全体で番号を一意に識別する形式が必要です。ケース (市外局番のない固定電話からの市内通話など) は最適化です。
だから私は2つの質問があります:
電話番号をその番号の一意の文字列に「展開」するにはどうすればよいですか?その番号を書く別の形式 (スペース、0 または +44 など) をこの一意の番号に「展開」しますか?
ISO(/IEC?) (O は何の略ですか?) 草案が公開されている標準文書はありますか? 私はウィキペディアのページを読みました (何年も前に、ウィキをブラウズするのに何時間も費やし、何百ものタブを開きました) が、歴史や書式設定に関する情報をカバーしています)、そのことについてもっと知りたいです私は約8年ほどの間、今では当然のことと思っています。
また、なぜ Windows Phone 8 がタグなのですか? 誇り高き12名のルミナオーナーを取り残されないようにするには?(タグとして提案されました!)
補遺
残念ながら、電話番号を正規化する Android の API には解決策がありません (これには libphonenumber が含まれます)。
http://en.wikipedia.org/wiki/Panel_switch
http://en.wikipedia.org/wiki/Nonblocking_minimal_spanning_switch
http://en.wikipedia.org/wiki/Telephone_exchange
そして、数字の「完全な形式」がないと結論付けることはまだできません。
+44 を 0 などに単純に交換するソリューションをあえて作成するつもりはありません。