如何获取有效的电话号码长度并在特定国家的应用程序中验证它

时间:2015-10-16 09:16:38

标签: android validation phone-number

我允许用户仅使用手机号码注册,我想在不使用互联网的情况下在应用中验证号码,我想做的是获取用户选择的国家的有效电话号码长度,验证其长度和格式该国家/地区的格式。

例如印度的电话号码长度为10,格式为0 **********

请告诉我该怎么做。

4 个答案:

答案 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)});

希望此代码能为您提供帮助。