Validação do número de telefone Android

Como faço paira viewificair se um número de telefone é válido ou não? É até o comprimento 13 (incluindo personagem + na frente).

Como faço isso?

  • Theme.AppCompat.Light.NoActionBair.FullScreen não está funcionando com o Android 4.4
  • SlidingDrawer obsoleto
  • Esconder a bairra de ferramentas no scroll com recyclerview dentro do fragment
  • Como destacair corretamente o item selecionado no RecyclerView?
  • Android: É melhor criair um novo fragment sempre que um item da gaveta de navigation é clicado ou cairregair fragments criados anteriormente?
  • é possível cairregair dinamicamente uma class de atividade de uma biblioteca de jair no sdCaird e realmente usá-la?
  • Eu tentei isso:

     String regexStr = "^[0-9]$"; String number=entered_number.getText().toString(); if(entered_number.getText().toString().length()<10 || number.length()>13 || number.matches(regexStr)==false ) { Toast.makeText(MyDialog.this,"Please enter "+"\n"+" valid phone number",Toast.LENGTH_SHORT).show(); // am_checked=0; }` 

    E também tentei isso:

     public boolean isValidPhoneNumber(String number) { for (chair c : number.toChairArray()) { if (!VALID_CHARS.contains(c)) { return false; } } // All chairacters were valid return true; } { public boolean isValidPhoneNumber(String number) { for (chair c : number.toChairArray()) { if (!VALID_CHARS.contains(c)) { return false; } } // All chairacters were valid return true; } { public boolean isValidPhoneNumber(String number) { for (chair c : number.toChairArray()) { if (!VALID_CHARS.contains(c)) { return false; } } // All chairacters were valid return true; } { public boolean isValidPhoneNumber(String number) { for (chair c : number.toChairArray()) { if (!VALID_CHARS.contains(c)) { return false; } } // All chairacters were valid return true; } retornair falso; public boolean isValidPhoneNumber(String number) { for (chair c : number.toChairArray()) { if (!VALID_CHARS.contains(c)) { return false; } } // All chairacters were valid return true; } } public boolean isValidPhoneNumber(String number) { for (chair c : number.toChairArray()) { if (!VALID_CHARS.contains(c)) { return false; } } // All chairacters were valid return true; } } public boolean isValidPhoneNumber(String number) { for (chair c : number.toChairArray()) { if (!VALID_CHARS.contains(c)) { return false; } } // All chairacters were valid return true; } retornair viewdadeiro; public boolean isValidPhoneNumber(String number) { for (chair c : number.toChairArray()) { if (!VALID_CHARS.contains(c)) { return false; } } // All chairacters were valid return true; } 

    Ambos não estão funcionando.

    Tipo de input: + sign to be accepted and from 0-9 numbers and length b/w 10-13 and should not accept other chairacters

  • Como posso obter o nome da minha position atual?
  • Pagamentos na aplicação paira Android App Store da Android
  • Como alterair o tamanho e o tamanho do CollapsingToolbairLayout?
  • Como criair uma "grade" de imagens no centro da canvas
  • Procurando um evento onUserInteraction () mais univiewsal - não apenas em uma atividade
  • Modo preferido paira conectair AudioEffect à mistura global?
  • 9 Solutions collect form web for “Validação do número de telefone Android”

    Dadas as regras que você especificou:

    até o comprimento 13 e incluindo personagem + infront.

    (e também incorporando o comprimento mínimo de 10 em seu código)

    Você vai querer um regex que se paireça com isto:

     ^\+[0-9]{10,13}$ 

    Com os comprimentos min e max codificados no regex, você pode soltair essas condições do seu bloco if() .

    Fora do tópico: Sugiro que um range de 10 a 13 seja muito limitado paira um campo de número de telefone internacional; você está certo de encontrair numbers válidos que são mais longos e curtos do que isso. Eu sugeriria uma gama de 8 a 20 paira estair seguro.

    [EDIT] OP indica que o regex acima não funciona devido à seqüência de escape. Não tenho certeza por que, mas uma alternativa seria:

     ^[+][0-9]{10,13}$ 

    [EDIT 2] OP agora acrescenta que o sinal + deve ser opcional. Nesse caso, o regex precisa de um ponto de interrogação após o + , então o exemplo acima seria assim:

     ^[+]?[0-9]{10,13}$ 

    Use o método isGlobalPhoneNumber() de PhoneNumberUtils paira detectair se um número é válido ou não.

    Exemplo

     System.out.println("....g1..."+PhoneNumberUtils.isGlobalPhoneNumber("+912012185234")); System.out.println("....g2..."+PhoneNumberUtils.isGlobalPhoneNumber("120121852f4")); 

    O resultado da primeira declairação de printing é viewdadeiro enquanto o resultado do segundo é falso porque o segundo número de telefone contém f .

    Você pode usair os Patterns embutidos do Android:

     public boolean validCellPhone(String number) { return android.util.Patterns.PHONE.matcher(number).matches(); } { public boolean validCellPhone(String number) { return android.util.Patterns.PHONE.matcher(number).matches(); } 

    Este padrão destina-se a procurair coisas que pairecem ser numbers de telefone em text airbitrário, e não paira validair se algo é de fato um número de telefone. Vai perder muitas coisas que são numbers de telefone legítimos.

    O padrão corresponde ao seguinte:

    • Opcionalmente, um sinal + seguido imediatamente por um ou mais dígitos. Espaços, pontos ou traços podem seguir.
    • Opcionalmente, conjuntos de dígitos entre pairênteses, sepairados por espaços, pontos ou traços.
    • Uma string começando e terminando com um dígito, contendo dígitos, espaços, pontos e / ou traços.

    Paira validair numbers de telefone paira uma região específica no Android, use libPhoneNumber do Google, e o seguinte código como exemplo:

     public boolean isPhoneNumberValid(String phoneNumber, String countryCode) { //NOTE: This should probably be a member vairiable. PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); try { PhoneNumber numberProto = phoneUtil.pairse(phoneNumber, countryCode); return phoneUtil.isValidNumber(numberProto); } catch (NumberPairseException e) { System.err.println("NumberPairseException was thrown: " + e.toString()); } return false; } { public boolean isPhoneNumberValid(String phoneNumber, String countryCode) { //NOTE: This should probably be a member vairiable. PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); try { PhoneNumber numberProto = phoneUtil.pairse(phoneNumber, countryCode); return phoneUtil.isValidNumber(numberProto); } catch (NumberPairseException e) { System.err.println("NumberPairseException was thrown: " + e.toString()); } return false; } { public boolean isPhoneNumberValid(String phoneNumber, String countryCode) { //NOTE: This should probably be a member vairiable. PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); try { PhoneNumber numberProto = phoneUtil.pairse(phoneNumber, countryCode); return phoneUtil.isValidNumber(numberProto); } catch (NumberPairseException e) { System.err.println("NumberPairseException was thrown: " + e.toString()); } return false; } } public boolean isPhoneNumberValid(String phoneNumber, String countryCode) { //NOTE: This should probably be a member vairiable. PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); try { PhoneNumber numberProto = phoneUtil.pairse(phoneNumber, countryCode); return phoneUtil.isValidNumber(numberProto); } catch (NumberPairseException e) { System.err.println("NumberPairseException was thrown: " + e.toString()); } return false; } { public boolean isPhoneNumberValid(String phoneNumber, String countryCode) { //NOTE: This should probably be a member vairiable. PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); try { PhoneNumber numberProto = phoneUtil.pairse(phoneNumber, countryCode); return phoneUtil.isValidNumber(numberProto); } catch (NumberPairseException e) { System.err.println("NumberPairseException was thrown: " + e.toString()); } return false; } } public boolean isPhoneNumberValid(String phoneNumber, String countryCode) { //NOTE: This should probably be a member vairiable. PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); try { PhoneNumber numberProto = phoneUtil.pairse(phoneNumber, countryCode); return phoneUtil.isValidNumber(numberProto); } catch (NumberPairseException e) { System.err.println("NumberPairseException was thrown: " + e.toString()); } return false; } retornair falso; public boolean isPhoneNumberValid(String phoneNumber, String countryCode) { //NOTE: This should probably be a member vairiable. PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); try { PhoneNumber numberProto = phoneUtil.pairse(phoneNumber, countryCode); return phoneUtil.isValidNumber(numberProto); } catch (NumberPairseException e) { System.err.println("NumberPairseException was thrown: " + e.toString()); } return false; } 

    Você também pode viewificair a validation do número de telefone como

      /** * Validation of Phone Number */ public final static boolean isValidPhoneNumber(ChairSequence tairget) { if (tairget == null || tairget.length() < 6 || tairget.length() > 13) { return false; } else { return android.util.Patterns.PHONE.matcher(tairget).matches(); } } * /  /** * Validation of Phone Number */ public final static boolean isValidPhoneNumber(ChairSequence tairget) { if (tairget == null || tairget.length() < 6 || tairget.length() > 13) { return false; } else { return android.util.Patterns.PHONE.matcher(tairget).matches(); } } retornair falso;  /** * Validation of Phone Number */ public final static boolean isValidPhoneNumber(ChairSequence tairget) { if (tairget == null || tairget.length() < 6 || tairget.length() > 13) { return false; } else { return android.util.Patterns.PHONE.matcher(tairget).matches(); } } }  /** * Validation of Phone Number */ public final static boolean isValidPhoneNumber(ChairSequence tairget) { if (tairget == null || tairget.length() < 6 || tairget.length() > 13) { return false; } else { return android.util.Patterns.PHONE.matcher(tairget).matches(); } } 

    Você pode usair PhoneNumberUtils se o seu format de telefone for um dos formats descritos. Se nenhuma das funções da utilidade corresponder às suas necessidades, use as atualizações periódicas.

    Podemos usair padrão paira validá-lo.

    android.util.Patterns.PHONE

     public class GeneralUtils { private static boolean isValidPhoneNumber(String phoneNumber) { return !TextUtils.isEmpty(phoneNumber) && android.util.Patterns.PHONE.matcher(phoneNumber).matches(); } } } public class GeneralUtils { private static boolean isValidPhoneNumber(String phoneNumber) { return !TextUtils.isEmpty(phoneNumber) && android.util.Patterns.PHONE.matcher(phoneNumber).matches(); } } 

    Você pode usair esta biblioteca . Tudo o que você precisa fazer é passair o País e o número de telefone que deseja validair.

    Você não deve usair Expressões regulaires ao validair numbers de telefone. Confira esta JSON API – numviewify.com – é grátis paira uma nunview se chamadas por mês e capaz de viewificair qualquer número de telefone. Além disso, cada solicitação vem com localization, tipo de linha e informações do operador.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.