leitura de
Encontrou um problema no conteúdo? Por favor, deixe seu comentário!

Expressões regulares são uma funcionalidade incrível… É possível interagir com strings e verificar a sua sintaxe…

Normalmente se usa regexp (Regular Expression) pra algumas tarefas simples mas muito úteis: como validar um e-mail, validar uma url, validar a formatação de uma senha que precise ter no minimo 2 letras, 6 números e 7 caracteres… Isso tudo pode e deve ser validado com expressões regulares.

Antes de mostrar o código da validação de e-mail, vou fazer uma breve introdução aos possíveis “formatos” de uma regexp… Nem todas serão usadas, mas é bom que vocês já vejam tudo que é possível fazer:

  • \s -> Significa um espaço em branco
  • ^ -> Significa o início da string
  • $ -> Significa o fim da string
  • . -> Significa qualquer caractere
  • (bola|casa) -> Significa bola ou casa
  • [0-9] ->Significa qualquer número entre zero e nove
  • [a-z] -> Significa qualquer letra minúscula
  • [A-Z] -> Significa qualquer letra maiúscula
  • [^a-z] -> Significa a não ocorrência (falta / proibição) de letras minúsculas. O circunflexo (^) tem significado de ‘não existe’
  • ? -> Significa nenhuma ou uma ocorrência caractere anterior
  • * -> Significa nenhuma ou várias ocorrências do caractere anterior
  • + -> Significa - no mínimo - uma ocorrência do caractere anterior
  • {3} -> Significa exatamente três caracteres
  • {3,} -> Significa três ou mais caracteres
  • {3,6} -> Significa entre três e seis caracteres, pode ser 4, 5 também

Mas calma… Onde isso tudo vai?

Vamos a um exemplo simpes… Uma regexp pra verificar um nome de usuario que precise ter no mínimo 5 caracteres e possa ser composto apenas por letras minusculas e números: ^[a-z0-9]{5,}$

Sacaram? O nome desse ‘bloco’ da regexp é chamado pattern, ou padrão. Ao validar uma string você compara um pattern com uma string, e se ela validar, ou seja, cumprir as condições, a string está dentro do formato.

Agora vamos ao código de validação de e-mail, ele é bem simples:

Agora vamos explicar o script… Dividi a pattern em três partes pra ficar mais fácil de entender, usaremos o e-mail contato@thiagobelem.net como exemplo:

^[a-zA-Z0-9\._-]+@ Essa parte é responsável por validar o que vem antes da @.. A conta do e-mail (seria o contato@ do e-mail). Podemos ver que - após o início da string - ela precisa ter pelo menos um caractere e pode ser composta por letras minúsculas, letras maiúsculas, números, ponto, sublinhado (underscore) e hífen. Depois desses caracteres, vem o @.

[a-zA-Z0-9\._-]+. Essa parte é responsável pela sintaxe do domínio (seria o thiagobelem. do e-mail)... Ele deve ser composto por um ou mais letras minúsculas, letras maiúsculas, números, pontos, underscores e hífens. E logo após o domínio, vem um ponto. Repare que o ponto está escapado, ou seja: tem uma barra antes dele. Isso acontece pro que o . faz parte dos 'formatos' usados numa regexp e significa "qualquer caractere". Se no e-mail tivesse '.com.br', o .com faria parte desse bloco e não do próximo.

([a-zA-Z]{2,4})$ Essa é a ultima parte, responsável pela sintaxe do tld (extensão do domínio, que seria o net do e-mail)... Ele deve ter de dois a quatro caracteres, sendo eles letras minúsculas e/ou letras maiúsculas. Ele também é a última coisa do e-mail, então logo após ele vem o fim da string, o fim do e-mail. Com tudo isso o nosso e-mail está validado e você tem um validado de e-mails pronto pra ser usado! E aí? Gostaram? Comentem! ;-)

Thiago Belem / Blog

Thiago Belem


Publicado

Thiago Belem / Blog

Thiago Belem / Blog

Artigos e tutoriais sobre desenvolvimento WEB

Continue lendo