Expressões Regulares para o dia a dia


Se você não sabe o que são expressões regulares (Reges), por favor veja meu primeiro artigo sobre elas.

As expressões regulares são muito úteis para buscarmos padrões dentro de strings e fazermos validações de entrada de dados. No entanto, normalmente não dedicamos o tempo necessário (ou as vezes simplesmente não temos esse tempo). Com isso, estou listando aqui uma lista de Regex prontos para serem utilizados no dia-a-dia.

Regex para valores númericos

Números inteiros (postivos ou negativos):

/^-?\d+$/

Números inteiros positivos:

/^\d+$/

Números inteiros negativos:

/^-\d+$/

Números (postivos ou negativos):

/^-?\d*\.?\d+$/

Números positivos:

/^\d*\.?\d+$/

Números negativos:

/^-\d*\.?\d+$/

 


Regex para cadeias de caracteres

Caracteres alfabéticos:

/^[a-zA-Z]+$/

Caracteres alfanuméricos:

/^[a-zA-Z0-9]+$/

String trimming:

/^s*|s*$/g

Nova Linha:

/[\r\n]|$/

Caracteres espciais que precisam ser pulados;

/[\-\[\]\/\\\{\}\(\)\*\+\?\.\^\$\|]/

Senhas:

A senha precisa conter um caractere de letra minúscula, um de letra maiúscula, um número, um caractere especial (!@#$%^&?) e ter ao menos 6 caracteres.

/^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/

 


Regex para Data e/ou Hora

Data (DD/MM/AAAA):

/^(0?[1-9]|[12][0-9]|3[01])([ \/\-])(0?[1-9]|1[012])\2([0-9][0-9][0-9][0-9])(([ -])([0-1]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9])?$/

Data e hora no formato ISSO-8601:

/^(?![+-]?\d{4,5}-?(?:\d{2}|W\d{2})T)(?:|(\d{4}|[+-]\d{5})-?(?:|(0\d|1[0-2])(?:|-?([0-2]\d|3[0-1]))|([0-2]\d{2}|3[0-5]\d|36[0-6])|W([0-4]\d|5[0-3])(?:|-?([1-7])))(?:(?!\d)|T(?=\d)))(?:|([01]\d|2[0-4])(?:|:?([0-5]\d)(?:|:?([0-5]\d)(?:|\.(\d{3})))(?:|[zZ]|([+-](?:[01]\d|2[0-4]))(?:|:?([0-5]\d)))))$/

Hora no formato 24 horas:

/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/

 


Regex para a Web

Endereços de E-mail:

/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi

Hyperlinks:

/^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

Endereço de IP:

/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

Tags HTML: 

/^<([a-z]+)([^<]+)*(?:>(.*)</1>|s+/>)$/

 


Regex do Brasil !!!!

Cep:

/^[0-9]{5}-[0-9]{3}$/

CPF:

[0-9]{3}\.?[0-9]{3}\.?[0-9]{3}\-?[0-9]{2}

CNPJ:

[0-9]{2}\.?[0-9]{3}\.?[0-9]{3}\/?[0-9]{4}\-?[0-9]{2}

Finalizando

Possuímos aqui uma lista bem boa de vários tipos de Regex que o pessoal possa precisar. Ajude-nos a aumenta-la enviando um novo regex que possa ser útil ou se você notou algo que precise de ajuste para consertarmos.

Deixe um comentário