
Validador Regex de Números em Javascript
Use o Validador Regex de Números em JavaScript para verificar padrões de inteiros, decimais e números com sinal ou formatados. Seja para construir formulários ou ferramentas financeiras, o regex é uma forma eficaz de garantir a precisão dos dados. Você também pode explorar nosso JavaScript Regex Tester para depurar padrões em tempo real, ou combiná-lo com ferramentas como o Gerador de Token para autenticação numérica e o Base64 Decoder para decodificar valores antes da validação.
Validador Regex de Números em Javascript - Documentação
O que é Regex de Números?
Em JavaScript, regex (expressões regulares) são frequentemente usadas para validar e corresponder entradas numéricas, como números inteiros, decimais e valores formatados como moeda. Isso é especialmente útil em formulários, cálculos financeiros e validação de entrada onde a estrutura dos dados numéricos importa.
O regex em JavaScript fornece padrões concisos para distinguir números válidos e rejeitar qualquer coisa inesperada, como letras ou pontuação malformada.
Padrões Regex para Validação de Números
Validação de Inteiros
Valida números inteiros sem símbolos ou pontos decimais.
const regex = /^\d+$/;Corresponde: "123", "2024"
Não corresponde: "12.3", "-100"
Validação de Número Decimal
Valida números com decimais opcionais.
const regex = /^\d+\.\d+$/;Corresponde: "3.14", "99.999"
Não corresponde: "100", "abc"
Validação de Número com Sinal
Permite sinal negativo ou positivo opcional.
const regex = /^[+-]?\d+(\.\d+)?$/;Corresponde: "-45", "+99.99", "0"
Não corresponde: "--12", "100+"
Números Formatados com Vírgulas
Corresponde a números como 1,000 ou 12,345,678.
const regex = /^\d{1,3}(,\d{3})*$/;Corresponde: "1,000", "100,000"
Não corresponde: "1000", "1,,000"
Como Validar Números em JavaScript
Use a classe RegExp embutida ou literais regex com métodos como .test() ou .match():
const number = "12345"; const pattern = /^\d+$/;
console.log(pattern.test(number)); // true
O método test() executa uma busca por correspondência entre a expressão regular e uma string especificada. Ele retorna true se o padrão corresponder à string; caso contrário, retorna false. Isso o torna uma forma eficiente de verificar rapidamente se a entrada do usuário atende a um formato específico.
O método retorna um valor booleano:
true se o padrão corresponder à string
false se não corresponder
Isso difere do método search(), que retorna o índice da correspondência (ou -1 se não houver correspondência).
Em resumo:
Use test() para verificar simplesmente se uma correspondência existe e obter um resultado true ou false.
Se você precisar saber onde na string a correspondência ocorre, use search().
Você pode testar o seu regex personalizado usando nosso JavaScript Regex Tester interativo.
Como test() se Comporta com Regex Global e Strings Diferentes?
Quando você usa o método test() com um regex que tem a flag global (g), há uma peculiaridade: o regex mantém uma propriedade lastIndex entre testes repetidos. Isso significa que se você chamar test() várias vezes, mesmo em strings diferentes, a busca continua de onde parou por último.
Se test() encontrar uma correspondência, lastIndex avança para a posição logo após a correspondência.
Enquanto você continuar obtendo true, o regex não é reiniciado para novas strings.
Mas assim que test() falha (retorna false), lastIndex é redefinido para 0.
Por que isso importa?
Se você estiver validando vários números ou campos em um formulário usando o mesmo objeto regex global e não redefinir lastIndex manualmente, falsos negativos inesperados podem surgir.
Exemplo
const regex = /\d+/g;
regex.test("123"); // true (lastIndex now at 3) regex.test("456"); // true (lastIndex now at 3) regex.test("789"); // true (lastIndex now at 3) regex.test("abc"); // false (lastIndex resets to 0)
Boa prática: se você estiver usando o mesmo regex global para strings diferentes, chame regex.lastIndex = 0 antes de cada novo teste, ou evite a flag global a menos que você realmente precise dela.
Quando Usar test(), exec() ou match()
Ao validar entradas numéricas ou detectar se uma string corresponde a um padrão, use .test() no seu regex. Para mais detalhes, como extrair partes correspondentes ou capturar grupos, use .exec(). O método .match() é chamado na própria string e funciona de forma semelhante ao .exec().
const regex = /^\d+$/;
console.log(regex.test("12345")); // trueEm resumo:
Use .test() para validação simples de sim/não.
Use .exec() ou .match() quando precisar de detalhes de correspondência ou valores extraídos.
Metacaracteres Utilizados
^ : Início da string
$ : Fim da string
\d : Qualquer dígito [0-9]
+ : Um ou mais do anterior
* : Zero ou mais do anterior
? : Opcional (zero ou um)
. : Ponto escapado para corresponder decimal
[,] : Vírgula literal
() : Agrupamento
[] : Classe de caracteres
Exemplos
Exemplo 1: Validando um Inteiro
const input = "250"; const pattern = /^\d+$/;
console.log(pattern.test(input)); // true
Construa seus próprios padrões usando o JavaScript Regex Tester.
Exemplo 2: Validando um Número Decimal
const input = "3.1415"; const pattern = /^\d+.\d+$/;
console.log(pattern.test(input)); // true
Você pode combinar isso com o Gerador de Token para gerar números seguros automaticamente.
Exemplo 3: Detectando Números com e sem Sinal
const input = "-0.99"; const pattern = /^[+-]?\d+(.\d+)?$/;
console.log(pattern.test(input)); // true
Use em combinação com o JavaScript Regex Tester para depuração rápida.
Casos de Uso
Validação de Formulários: Use regex para garantir que os usuários insiram números válidos em campos como idade, quantidade e orçamento.
Aplicações Financeiras: Valide a precisão decimal em transações e preços.
Limpeza de Dados: Filtre entradas inválidas antes de importar para ferramentas de análise.
Sistemas de Autenticação: Use regex para processar OTPs numéricos e tokens de login gerados via Gerador de Token.
Combine com Estas Ferramentas
JavaScript Regex Tester: Valide instantaneamente padrões numéricos em JavaScript.
Gerador de Token: Útil para gerar strings numéricas seguras ou OTPs.
Base64 Decoder: Decodifique dados numéricos antes de aplicar regex.
Validador Regex de Email em JavaScript: Valide dados numéricos junto com entradas de email para tratamento completo de formulários.
Validador Regex de Endereço IP em JavaScript: Útil quando valores de IP numéricos também estão sendo validados.
Frequently Asked Questions
O regex consegue detectar números positivos e negativos?
Como valido um número que pode ou não ter decimais?
Devo validar valores de moeda usando regex?
O \d corresponde apenas a dígitos?
O regex JavaScript consegue validar números formatados como "1,000"?
Related Articles



Teste suas APIs hoje!
Escreva em português simples, o Qodex transforma em testes seguros e prontos para executar.



