2016-08-28 8 views
0

同じ番号を1つの連絡先に異なる形式で割り当てる方法を教えてください。 "例USA":同じ番号を別の形式で割り当てて連絡する

enter image description here

にもかかわらず、「例USA呼び出されたときに株式サムスンの携帯電話のアプリで

1 8542569、8542569と18542569はすべて1つの連絡先に割り当てられています

enter image description here

この行く:+1 854-256-9は、電話帳に記載されている "だけしましたすべての国ではなく、アメリカだけでなく、ここでは、ニュージーランドの例です: "ニュージーランドの例は、" 91234567は

ここ

enter image description here

^列挙されています。

そして、私は91234567を呼び出すことができ、00 64 9から123 4567または6491234567、それらはすべて、「ニュージーランドの例」連絡先に割り当てられてしまいます。私の質問がある

enter image description here

:どのように私にできることJavaで同じことを、サムスンの株式アプリのようにすべての国のために?

91234567、00 64 9-123 4567、および6491234567と言ってください。 私のアプリは、同じ連絡先に属していて、基本的に同じ番号であることをどのように認識しますか?

私はサムスンがそれをやったので、それは行うことができます:)

再び確信して、私はすべての国のために働くのコードをしたいと思います。

+1

すべての国が国際電話コード形式、***を持っている非常に***おそらく数が他の国に属しているかどうかを判断するために、ここで使用されているもの。SIMカードが登録されているロケールに基づいて国際コード(米国+1)のない暗黙の番号が解釈されることにも賭けています。しかし、「それを行う方法」は非常に広い質問です。はっきりと行うことができますが、それについて行く方法はたくさんあります。どんなに特別な努力をしているのですか。どこに問題がありますか? – Makoto

+0

@Makoto私は '正規表現'の可能性を模索しようとしました。しかし、すべての国でコードを記述しなければならないため、非常に難しい作業であることが判明しています。 – Dake

+0

そして私はこれが唯一の方法だとは思わない。 – Dake

答えて

-1

パート1:開始零点を削除します。 彼らは役に立たない。これらは役に立つかもしれませんが、削除することで簡単に実行できます。 This quora link with be a bit useful

現在、各国の電話番号の桁数は異なります。同様に、インドにはニュージーランドと米国には合致しない10があります。

地域固有のコードを削除した後、各国が特定の桁数の数字を持つと仮定します。

パート2:あなたがcountry codenumber of digits after thatで、多次元マトリックスを作成することができます。国コードを開始するには一致し、桁数を確認します。

このメソッドは、異なる国と競合していますが、私はこのことについて知識がありません。 例紛争の:

Country A: country_code = +1, digits = 6 
Country B: country_code = +12, digits =5 

+1 234567 
+12 34567 
+0

ゼロを開始することは「役に立たない」と言うのは嫌です。先頭のゼロが何らかの形で魔法的に破棄されているという点で、電話番号は他の種類の番号と似ていません。しかし、それはゼロの問題の前に、国、形式、および他の要因に依存します。 – Makoto

+0

私の個人的な経験では、彼らはより多くの問題を引き起こしているかもしれないと言いました。私は0が役に立ちますが、私は編集するつもりは見ませんでした。 – frunkad

関連する問題