Aula 10 – Regex na Prática com JavaScript 📜
Agora que você já conhece a teoria, vamos aplicá-la em código real! O JavaScript possui um suporte excelente para Regex, utilizando o objeto RegExp ou a sintaxe de barras /padrao/.
🛠️ Três Métodos Essenciais
Em JavaScript, usamos Regex principalmente de três formas:
1. regex.test(string)
Retorna um booleano (true ou false). Ideal para validação.
const regexEmail = /^[a-z]+@gmail\.com$/;
console.log(regexEmail.test("contato@gmail.com")); // true
2. string.match(regex)
Retorna um array com as correspondências encontradas. Ótimo para extração.
const texto = "Match 1 e Match 2";
const encontrados = texto.match(/\d/g);
console.log(encontrados); // ["1", "2"]
3. string.replace(regex, novoTexto)
Substitui o que foi encontrado por um novo texto. Perfeito para limpeza e transformação.
📊 Fluxo no JavaScript
graph LR
A["RegExp Object"] --> B["test() -> Boolean"]
A --> C["match() -> Array"]
A --> D["replace() -> String"]
💻 Exemplo em TermynalJS (Node.js)
$ # Testando via Node.js
$ node -e "console.log(/\d+/.test('Aula 10'))"
$ true
$
$ # Extraindo anos de uma frase
$ node -e "console.log('2023 e 2024'.match(/\d+/g))"
$ [ '2023', '2024' ]
📝 Exercícios de Fixação
- Básico: Crie uma variável que contenha um Regex para validar se uma string é composta apenas por letras minúsculas:
const regex = /.../. - Básico: Use o método
.test()para verificar se a palavra "sucesso" está contida na frase "O curso é um sucesso!". - Intermediário: Dado o texto
contato: 11-9999-8888, use.match()com a flaggpara extrair todos os números. - Intermediário: Use
.replace()para trocar todos os espaços de uma frase por sublinhados (_). - Desafio: Crie uma função que receba uma senha e use
.test()para garantir que ela tenha pelo menos um número e pelo menos 6 caracteres.
🚀 Mini-Projeto: Validador de Formulário (JS)
Objetivo: Criar um script que valide um campo de nome de usuário.
- Regra: O nome deve ter entre 3 e 15 letras, sem números.
- Código:
- Teste mudando o valor da variável
username.