Você já tentou se cadastrar naqueles sites em que a senha tem um monte de regras?
Nesse artigo eu vou te mostrar uma maneira de validar este tipo de informação com apenas uma linha de código.
Vamos conversar sobre o que é Expressão Regular.
O Que É Expressão Regular?
Bom, sem enrolação, o que é Expressão Regular?
Expressão Regular é uma forma concisa de representar algum tipo de padrão de texto e serve para identificar este padrão em uma busca.
Também é conhecido como RegEx.
E Para Que Serve?
Uma das boas práticas de programação é validar a informação fornecida para que informações inconsistentes não sejam persistidas em nossos sistemas.
E podemos utilizar Expressões Regulares para fazer este tipo de validação.
Assim, temos uma maneira bem mais elegante de verificar se a informação que está chegando está ok ou não.
Vamos Ver Um Exemplo?
Utilizando a história que comentei no início.
Como usaríamos uma Expressão Regular que validasse uma senha que o usuário está escolhendo no momento do cadastro no meu sistema?
Vamos colocar poucas regras para não embananar a cabeça, afinal é a primeira vez que estamos vendo isso, certo?
Nossa regra para o cadastro da senha será a seguinte: a senha deve conter pelo menos um número e uma letra minúscula.
Se fossemos criar um código para verificar se o que o usuário digitou cumprissem esses requisitos, precisaríamos:
- Criar 2 variáveis de contagem, uma para cada regra;
- Utilizar um for para percorrer toda a string, posição por posição;
- Verificar se aquela posição é um número ou uma letra minúscula;
- Em caso de positivo, incrementar uma variável de contagem correspondente;
- Depois do término do for verificar se uma das variáveis de contagem está zerada;
- Se estiver, mostrar uma mensagem ao usuário de que a senha está fora dos padrões exigidos.
Mas podemos utilizar uma Expressão Regular para economizar código.
Para dizer que o texto a ser verificado precisa ter um número nele, utilizamos a expressão (?=.*\d)
E para dizer que o texto a ser verificado deve ter pelo menos uma letra minúscula, usamos a expressão: (?=.*[a-z])
Então o código para verificar se o que o usuário digitou tem pelo menos um número e pelo menos uma letra minúscula, utilizamos o seguinte código:
r = /^(?=.*\d)(?=.*[a-z])/; senha = prompt("Digite uma senha: "); if (r.test(senha)) console.log("Ok, a senha pode ser utilizada"); else console.log("Erro: a senha não segue as regras");
Veja como o processo ficou bem mais limpo e elegante.
Precisamos apenas declarar uma Expressão Regular:
r = /^(?=.*\d)(?=.*[a-z])/;
e depois testar:
r.test(senha)
Nada de estrutura de repetição. Não é uma mão na roda?
Palavras Finais
Não se preocupe se você não entendeu nada do que está dentro da expressão.
O bate papo de hoje é sobre o que é Expressão Regular.
O que você precisa entender ao final do vídeo é que existe uma ferramenta que pode ser utilizada para pesquisar padrões de caracteres dentro de um texto.
Existem vários casos em que podemos utilizar expressões regulares, como validar se o usuário digitou uma data ou um número de telefone no formato certo.
Como montamos estas expressões e o que cada posição da expressão significa vai ficar para outras conversas, pois o conteúdo é bem extenso e o assunto renderia até um treinamento.
Aliás, se você quiser ver mais sobre este assunto, comenta aí embaixo, ok?
Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!
Olha o link: 👉🏼 http://celsokitamura.com.br/como-aprender-a-programar
Bora aprender a programar!