我允许用户仅使用手机号码注册,我想在不使用互联网的情况下在应用中验证号码,我想做的是获取用户选择的国家的有效电话号码长度,验证其长度和格式该国家/地区的格式。
例如印度的电话号码长度为10,格式为0 **********
请告诉我该怎么做。
答案 0 :(得分:1)
您可以在印度电话号码上试用此代码: -
private static boolean isValidPhoneNumber(String mobile) {
String regEx = "^[0-9]{10}$";
return mobile.matches(regEx);
}
答案 1 :(得分:1)
如果您不想使用互联网检查有效或无效的数字,您可以通过编程方式进行,但其解决方案只能是这样。 转到链接:https://en.wikipedia.org/wiki/List_of_mobile_phone_number_series_by_country
并以编程方式进行有条件的验证。
答案 2 :(得分:0)
您应该强制用户输入国家/地区代码,您也可以通过以下链接验证电话号码
https://github.com/googlei18n/libphonenumber 和 List of phone number country codes
答案 3 :(得分:0)
添加以下代码。
在gradle中
compile 'com.googlecode.libphonenumber:libphonenumber:8.5.2'
在Activity类
中
PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
String isoCode = phoneNumberUtil.getRegionCodeForCountryCode(Integer.parseInt(countryCode));
String exampleNumber= String.valueOf(phoneNumberUtil.getExampleNumber(isoCode).getNationalNumber());
int phoneLength=exampleNumber.length();
editTextLoginPhone.setFilters( new InputFilter[] {
new InputFilter.LengthFilter(phoneLength)});
希望此代码能为您提供帮助。