3

「+919672525253」のような連絡先があります。その番号から「91」のような国コードを抽出します。番号が「9672525253」のようになり、国コードを抽出すると「967」になります。抽出後国コード残りの番号がその国コードの有効な携帯電話番号であるかどうかを確認するにはどうすればよいですか? 編集

誰かが国ごとに携帯電話番号の長さを知っているなら、私もこの問題を解決することができます。インドの10桁のように。

4

2 に答える 2

3

あなたはほとんどできません。たとえば、米国では携帯電話番号と固定電話番号は区別できず、固定電話番号と同じように通常の市外局番があります。可能だったとしても、すべての国が異なる方法でそれを行い、番号が不足するにつれて常に変化しています。

于 2012-09-04T14:07:44.367 に答える
1

電話番号の検証に役立つ libPhoneNumber ( ICS にバンドルされている) を参照してください (PhoneNumberUtils を参照)。検証後に取得できる MobileType がありますが、ソースとベンによって述べられているように、一部の地域ではこれは機能しません。


編集:

いくつかの検証コード (ここでは、電話がフランスの電話であると仮定して有効なものであることを確認する必要があります):

boolean isValid = false;
PhoneNumber number = null;
try {
    number = this.phoneUtil.parse(phone, "FR"); // phone is number in internationnal format "+xxxxxx"
    isValid = this.phoneUtil.isValidNumber(number);
} catch (final NumberParseException e) {
    // ...
}

isValid // is the phone number valid according to the library?
this.phoneUtil.getRegionCodeForNumber(number); // this gets the country code of the phone as found by the library (for example "US", "CH", "GB", ...)

これは私たちにとってはうまくいきますが、それがあなたのニーズに合っているかどうかを確認するために試してみる必要があります.

于 2012-09-04T14:10:39.857 に答える