2

電話番号とISO 国コードが関連付けられています。たとえば、カナダは CA、米国は US、英国は GB です。

電話番号には、市外局番と電話番号以外のものが含まれる場合があります。

libphonenumber国コードを指定して、電話番号が有効かどうかを判断する関数を提供しているので、それを正規化する方法もあるはずだと考えました。

ライブラリは、これをオブジェクトに変換して、ダイヤル コード、市外局番、および電話番号自体を適切に分離する方法を提供してくれますか? 例: 形式の英国の電話番号が与えられた場合、とを分離し+44 20 xxxx xxxxたい4420xxxx xxxx

いくつかの正規化方法がありますが、ハイフン、括弧、スペースなどの文字を削除するだけです。

4

1 に答える 1

8

libphonenumber PhoneNumberUtil フォーマット メソッドは、希望どおりに動作するようです。

String swissNumberStr = "044 668 18 00";
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
    PhoneNumber swissNumberProto = phoneUtil.parse(swissNumberStr, "CH");
} catch (NumberParseException e) {
    e.printStackTrace();
}

// Produces "044 668 18 00"
System.out.println(phoneUtil.format(swissNumberProto, 
    PhoneNumberFormat.NATIONAL));
于 2014-02-13T17:18:49.297 に答える