Validar dados de forma eficiente é essencial para garantir a segurança e a integridade de qualquer aplicação web. O Regex (expressão regular) é uma poderosa ferramenta no JavaScript que permite verificar se strings seguem um padrão específico. Vamos explorar como validar dados com Regex em JavaScript.

O que é Regex?

Regex (ou expressão regular) é uma sequência de caracteres que forma um padrão de busca. Com ela, podemos verificar se uma string tem um formato específico, como números de telefone, e-mails, senhas, etc.

No JavaScript, usamos o objeto RegExp ou a notação literal entre barras (/expressao/) para criar Regex.

Como usar Regex no JavaScript

A maneira mais comum de validar dados com Regex no JavaScript é usando o método .test(), que verifica se a string corresponde ao padrão.

const regex = /^[a-z0-9]+@[a-z]+\.[a-z]{2,3}$/;
const email = 'usuario@dominio.com';

console.log(regex.test(email));  // true ou false

O método test() retorna true se a string corresponde ao padrão, e false caso contrário.

Validação de e-mail

Uma das validações mais comuns é a de e-mails. Um exemplo de Regex simples para e-mails pode ser:

function isValidEmail(email) {
    const regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
    return regex.test(email);
}

Explicação do Regex:

  • ^[a-zA-Z0-9._-]+: Início da string, aceitando letras, números, pontos, underscores e traços.

  • @[a-zA-Z0-9.-]+: O “@” seguido de caracteres permitidos no domínio.

  • \.[a-zA-Z]{2,}$: Um ponto seguido por 2 ou mais letras para o TLD (como .com).

Validação de número de telefone

Um exemplo de validação para número de telefone (formato internacional) pode ser:

function isValidPhone(phone) {
    const regex = /^\+?(\d{1,3})?[-.\s]?(\d{1,4})[-.\s]?(\d{1,4})[-.\s]?(\d{1,9})$/;
    return regex.test(phone);
}

Esse Regex permite números com ou sem código de país, espaços, traços ou pontos como separadores.

Validação de senha (força de senha)

Ao validar senhas, geralmente exigimos que elas tenham certos critérios, como comprimento mínimo e a presença de caracteres especiais. Aqui está um exemplo de Regex para uma senha forte:

function isValidPassword(password) {
    const regex = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$/;
    return regex.test(password);
}

Explicação do Regex:

  • (?=.*[A-Za-z]): Exige pelo menos uma letra.
  • (?=.*\d): Exige pelo menos um número.
  • (?=.*[@$!%*#?&]): Exige pelo menos um caractere especial.
  • {8,}: Exige no mínimo 8 caracteres no total.

Validação de data (formato DD/MM/AAAA)

Se você deseja validar uma data no formato “DD/MM/AAAA”, pode usar o seguinte Regex:

function isValidDate(date) {
    const regex = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}$/;
    return regex.test(date);
}

Esse Regex garante que o dia esteja entre 01 e 31, o mês entre 01 e 12 e o ano tenha 4 dígitos.

Validação de CEP (Brasil)

Para validar um CEP brasileiro (formato 00000-000), usamos:

function isValidCEP(cep) {
    const regex = /^[0-9]{5}-[0-9]{3}$/;
    return regex.test(cep);
}

O uso de Regex no JavaScript é uma forma eficiente e flexível de validar dados, desde que se tenha um entendimento claro dos padrões que se deseja aplicar.

Ele pode ser usado para verificar desde e-mails e números de telefone até senhas e datas, aumentando a confiabilidade da entrada de dados em sua aplicação.

QUER SER UM PROGRAMADOR FULL-STACK E DOMINAR AS PRINCIPAIS TECNOLOGIAS DO MERCADO?

Aprenda através de projetos reais e aulas práticas. São 20 cursos completos + cursos bônus. Grupos privados exclusivos, atualizações constantes e lives semanais.

Python, PHP, Java Script, CSS, Node, Angular JS, MySQL, Photoshop, Flutter, AWS, Apache e muito mais!

CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:

CLIQUE AQUI E SAIBA MAIS

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *