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

Regex para verificar se string tem apenas números capa

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
Formação Recomendada

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

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Formações

Formação SAAS com IA

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