NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Validador de Regex de Número de Telefone em Java

Validador de Regex de Número de Telefone em Java

O Validador de Regex de Número de Telefone em Java foi desenvolvido para ajudar desenvolvedores, testers e estudantes a validar padrões de número de telefone rapidamente usando expressões regulares em Java. Ele suporta formatos internacionais e locais, ajudando a garantir a formatação correta em entradas de usuários e bancos de dados.


Experimente ferramentas relacionadas em Java como o Validador de Regex de E-mail em Java, Validador de Regex de UUID em Java ou Validador de Regex de Data em Java para outras validações.

Validador de Regex de Número de Telefone em Java - Documentação

O que é Regex de Número de Telefone?

Números de telefone podem aparecer em muitos formatos, especialmente quando se suporta múltiplos países. Um regex (expressão regular) ajuda a corresponder esses padrões e garantir que os usuários insiram números de contato válidos.

Em Java, os padrões regex para números de telefone comumente validam:

  • Códigos de país opcionais (ex.: +91, +1)

  • Formatos somente numéricos (ex.: 9876543210)

  • Formatos legíveis com hifens, espaços ou colchetes (ex.: (123) 456-7890)

Construindo Padrões Regex Mais Flexíveis para Telefone

Criar padrões regex para validação de número de telefone é mais fácil quando você começa simples e adiciona complexidade conforme necessário:

1. Comece com o básico: Corresponda números simples de 10 dígitos.

2. Adicione flexibilidade de formatação: Expanda para acomodar espaços, hifens ou pontos opcionais entre as seções do número.

3. Inclua parênteses: Ajuste o regex para reconhecer opcionalmente parênteses ao redor do código de área (como (123) 456-7890).

4. Considere prefixos internacionais: Adicione um sinal de mais (+) opcional seguido de até três dígitos para o código do país.

Com essa estratégia em camadas, seu regex evolui de um validador local estrito para um padrão robusto que aceita uma ampla variedade de formatos.

Recursos Principais

  • Valida números de telefone locais e internacionais

  • Suporta formatos com códigos de país, hifens, espaços ou colchetes

  • Melhora a precisão dos dados e previne envios inválidos

  • Preview e saída de teste de padrão regex em Java

  • Feedback em tempo real para validação

Padrões Regex Comuns

  1. Número simples de 10 dígitos:


    Corresponde a: 9876543210

    ^\d{10}$
  2. Número internacional com código de país opcional:

    Corresponde a: +919876543210, 19876543210

    ^\+?[1-9]{1}[0-9]{7,14}$
  3. Número formatado no estilo dos EUA:

    Corresponde a: (123) 456-7890, 123-456-7890, 1234567890

    ^\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}$

Permitindo Espaços, Pontos ou Hifens

Muitos números de telefone modernos incluem espaços, pontos ou hifens para melhor legibilidade. Use um padrão que permita esses separadores opcionais:

^\d{3}[-.\s]?\d{3}[-.\s]?\d{4}$

Corresponde a:

  • 2055550125

  • 202 555 0125

  • 202.555.0125

  • 202-555-0125

Verificando Múltiplos Formatos de Número de Telefone em Java

Às vezes, um único padrão regex não é flexível o suficiente para capturar todos os estilos de número de telefone. Você pode combinar múltiplos padrões regex em um único padrão usando o símbolo pipe (|), que funciona como um "ou" lógico. Essa abordagem simplifica verificações onde os formatos podem incluir:

  • Números com ou sem parênteses, espaços ou hifens ((123) 456-7890, 123-456-7890)

  • Estilos internacionais (+111 123 456 789)

  • Dígitos agrupados com separadores variados (+111 636 85 67 89)

Exemplo de uso:

String regex = "^(\\+\\d{1,3}( )?)?((\\(\\d{3}\\))\\d{3})[- .]?\\d{3}[- .]?\\d{4}$"
             + "^(\\+\\d{1,3}( )?)?(\\d{3}[ ]?){2}\\d{3}$"
             + "^(\\+\\d{1,3}( )?)?(\\d{3}[ ]?)(\\d{2}[ ]?){2}\\d{2}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(phoneNumber);
boolean isValid = matcher.matches();

Combinando Múltiplos Padrões Regex para Validação Completa

Quando números de telefone chegam em uma variedade de formatos, um único regex pode não cobrir todos os casos. Liste seus padrões regex e junte-os usando o pipe (|) para permitir correspondências com qualquer um dos estilos especificados:

// Combinar diferentes padrões com o operador pipe
String patterns = "^(\\+\\d{1,3}( )?)?((\\(\\d{3}\\))\\d{3})[- .]?\\d{3}[- .]?\\d{4}$"
                + "^(\\+\\d{1,3}( )?)?(\\d{3}[ ]?){2}\\d{3}$"
                + "^(\\+\\d{1,3}( )?)?(\\d{3}[ ]?)(\\d{2}[ ]?){2}\\d{2}$";

Pattern pattern = Pattern.compile(patterns);

String[] validPhoneNumbers = { "2055550125", "202 555 0125", "(202) 555-0125", "+111 (202) 555-0125", "636 856 789", "+111 636 856 789", "636 85 67 89", "+111 636 85 67 89" };

for (String phoneNumber : validPhoneNumbers) { Matcher matcher = pattern.matcher(phoneNumber); System.out.println(phoneNumber + ": " + matcher.matches()); }

Como Funciona

  1. Insira seu número de telefone no campo de entrada.

  2. Escolha o padrão regex que você quer testar.

  3. A ferramenta verifica se a entrada corresponde e exibe o resultado.

  4. Use a saída para validar entradas de formulários em tempo real ou limpar conjuntos de dados.

Exemplo de Código (Java)

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class PhoneNumberValidator { public static void main(String[] args) { String phoneNumber = "+1-234-567-8901"; String regex = "^\+?[1-9]{1}[0-9]{7,14}$";

    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(phoneNumber);

    if (matcher.matches()) {
        System.out.println("Phone number is valid.");
    } else {
        System.out.println("Phone number is invalid.");
    }
}

}

Validando Múltiplos Formatos de Número de Telefone

Defina padrões regex separados para cada formato desejado e junte-os usando o pipe (|):

Formato EUA: (123) 456-7890 ou 123-456-7890

String usPattern = ^(?\d{3})?[- ]?\d{3}[- ]?\d{4}$

Internacional: +919876543210 ou 19876543210

String intlPattern = ^+?[1-9]{1}[0-9]{7,14}$

Combine os padrões:

String combinedPattern = usPattern + "" + intlPattern; Pattern pattern = Pattern.compile(combinedPattern);

Dicas Profissionais

  • Use ^ e $ para ancorar o padrão no início e no fim da string.

  • Evite regex excessivamente rígido para aplicações globais, os formatos diferem entre países.

  • Use padrões regex diferentes para validação e formatação (ex.: exibição vs entrada).

  • Combine com bibliotecas de validação de formulários para melhor experiência do usuário.

  • Para importações de dados, combine com o Conversor CSV para JSON para limpar números de telefone em massa.

  • Para APIs backend, use junto com o Validador de UUID em Java para validar sessões de usuário.

Combine com Estas Ferramentas

Frequently Asked Questions

Este validador pode verificar números de telefone de todos os países?

Sim, ele pode validar formatos internacionais gerais usando padrões que permitem códigos de país e até 15 dígitos.

Ele suporta números de telefone com espaços ou hifens?

Sim, incluímos exemplos de regex que tratam hifens, espaços e colchetes.

Este validador é seguro para validação em nível de produção?

Sim, é baseado nas classes Pattern e Matcher do Java, amplamente usadas em validações de backend.

Posso testar múltiplos formatos ao mesmo tempo?

Você pode alternar entre padrões e executá-los individualmente, mas a ferramenta não suporta correspondência de múltiplos padrões em uma única execução.

O que acontece se o usuário inserir um formato inválido?

O validador retorna false, que você pode usar para exibir uma mensagem de erro ou rejeitar a entrada.

Teste suas APIs hoje!

Escreva em linguagem natural e o Qodex gera testes seguros e prontos para rodar.