Regex para verificar se string tem apenas números com JavaScript
Neste artigo você vai aprender a como criar uma regex para verificar se string tem apenas números, isso tudo na linguagem JavaScript

Fala programador(a), beleza? Bora aprender mais sobre regex e JavaScript!
A regex para validação de strings que contém apenas números é bem simples
Podemos testar os textos com o método test, basta apenas a regex
Veja o código necessário e alguns testes:
const a = "Teste"
const b = "Teste1"
const c= "123"
const onlyNumbers = new RegExp('^[0-9]+$')
console.log(onlyNumbers.test(a)) // false
console.log(onlyNumbers.test(b)) // false
console.log(onlyNumbers.test(c)) // true
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Veja que somente a última string tem números e ela é validada como true
Ou seja, é o resultado que estamos esperando
As demais, com apenas texto ou com caracteres combinados, retornam falso
E dessa forma conseguimos validar se strings possuem apenas números ou não
Você pode colocar numa função também essa regex, para reaproveitamento de código
Conclusão
No artigo de hoje você viu como fazer uma regex para verificar se string tem apenas números
Utilizamos a classe RegExp para criar a expressão regular
E depois o método test para testar as strings que queremos verificar
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias! Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias. O link acima contém um cupom de desconto para os curso
Nova seção curta:
Usando a regex como literal:
Dá pra fazer a mesma coisa sem o new RegExp, usando a regex direto entre barras
Muita gente prefere assim, fica mais enxuto
console.log(onlyNumbers.test("123")) // true console.log(onlyNumbers.test("12a3")) // false
Como prende do começo (^) ao fim ($), qualquer letra ou símbolo no meio já derruba pra false, que é exatamente o que a gente quer
Completar com o exemplo real:
Bora ver na prática? Assim tu reaproveita em qualquer lugar do projeto
function onlyNumbers(text) { }
console.log(onlyNumbers("123")) // true console.log(onlyNumbers("Teste1")) // false
Agora é só chamar onlyNumbers com a string que tu quer testar e receber true ou false de volta
Muito mais limpo do que repetir a regex toda hora
Título: E os casos que pegam a gente de surpresa?
Tem detalhe que derruba o teste e o pessoal se ferra sem entender o porquê
String vazia: "" retorna false, porque o + exige pelo menos um dígito. Se no teu caso a string vazia PODE ser válida, troca o + por *
Espaço no meio ou nas pontas: " 123" retorna false, o espaço não é dígito. Se precisar aceitar, dá um .trim() na string antes de testar
Número com vírgula ou ponto:
Negativo:
Tome cuidado com isso, é o tipo de coisa que passa batido e quebra a validação lá na frente
Título: Dá pra verificar sem regex?
Dá sim, e às vezes é até mais direto dependendo do que tu precisa
Uma forma comum é usar o Number junto do isNaN pra ver se a string vira número de verdade:
function isNumeric(text) { return text.trim() !== "" && !isNaN(Number(text)) }
Então a escolha depende do teu caso: se é pra aceitar SÓ dígito de 0 a 9, a regex é mais rígida e resolve. Se é pra validar ‘é um número’ no geral, o Number costuma servir melhor
Título: Perguntas frequentes
Como aceitar também números decimais?
Como validar apenas números mas permitir string vazia? O * significa ‘zero ou mais’, então "" também retorna true
Qual a diferença entre test e match aqui? O test devolve true ou false, perfeito pra validação. O match devolve o que casou (ou null), mais útil quando tu quer extrair o valor, não só checar
Pode, o \d é um atalho pra dígito e o padrão vira /^\d+$/. No dia a dia dá no mesmo pra números de 0 a 9
Leia também
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
