現在、すべてのグローバル電話番号を検証する一般的な電話番号検証機能があります。米国の電話番号のみを検証するように更新したかったのです。しかし、それに関する問題は、現在、電話番号の長さを10に設定しても、正確に10文字で短く停止することです。私のユーザーはスペースや(のようなものを入力するかもしれません: "(444)444 4444、これは有効な数であっても文字数を10に制限すると機能しません。それをどうやって行うかについてのアイデアはありますか?私の機能:
public static boolean isValidPhoneNumber(String phoneNumber) {
return !TextUtils.isEmpty(phoneNumber) && android.util.Patterns.PHONE.matcher(phoneNumber).matches() && PhoneNumberUtils.;
}
私が思う最善の方法は、https://github.com/MichaelRocks/libphonenumber-androidを使用することです。
次のようにプロジェクトに含めることができます。
repositories {
jcenter()
}
dependencies {
implementation 'io.michaelrocks:libphonenumber-android:8.10.7'
}
そして、次のように使用します。
public void validateNumber(View view) {
PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.createInstance(this);
Phonenumber.PhoneNumber phoneNumber = null;
try {
phoneNumber = phoneNumberUtil.parse("(541) 754-3010"/*replace with your number*/, "US");
boolean isValid = phoneNumberUtil.isValidNumber(phoneNumber);
Toast.makeText(this, "" + isValid, Toast.LENGTH_SHORT).show();
} catch (NumberParseException e) {
e.printStackTrace();
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加