Índice

Regex usadas no Brasil

CPF

Valida tanto 123.456.789-00 quanto 12345678900

Não valida o algoritmo, só o formato

(^\d{3}\.\d{3}\.\d{3}\-\d{2}$)

CNPJ

Valida tanto 12.345.678/0001-00 quanto 12345678000100

Não valida o algoritmo, só o formato

(^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$)

CPF ou CNPJ

Muito útil quando você só precisa de um documento válido

(^\d{3}\.\d{3}\.\d{3}\-\d{2}$)|(^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$)

RG

Valida qualquer RG, incluíndo finais com o dígito X

(^\d{1,2}).?(\d{3}).?(\d{3})-?(\d{1}|X|x$)

Telefone

Valida qualquer telefone ou celular, com ou sem DDD. O traço é opcional.

(^[0-9]{2})?(\s|-)?(9?[0-9]{4})-?([0-9]{4}$)

CEP

Valida qualquer CEP com o traço sendo opcional.

(^[0-9]{5})-?([0-9]{3}$)

Outras

Trim nos espaços

Quem precisa de espaços, não é mesmo?

^[\s]*(.*?)[\s]*$

HTML Tag

Tá fazendo scrapping que eu sei, essa regex te ajuda nisso

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

Valor hexadecimal

\B#(?:[a-fA-F0–9]{6}|[a-fA-F0–9]{3})\b

Email válido

A melhor expressão está no emailregex.com

Na dúvida, sempre use a mais atual desse site.

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?: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]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

Username

Qualquer username, entre 3 e 15 caracteres com letras, números, underline e traço

/^[a-z0-9_-]{3,15}$/

Password

Senha de no mínimo 6 caracteres, pelo menos uma letra maiúscula, pelo menos uma letra minúscula, pelo menos um número, pelo menos um caractere especial

(?=^.{6,}$)((?=.*\w)(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[|!"$%&\/\(\)\?\^\'\\\+\-\*]))^.*

URLs

Qualquer url http, https, ftp válida

^(((https?|ftp):\/\/)?([\w\-\.])+(\.)([\w]){2,4}([\w\/+=%&_\.~?\-]*))*$

IPv4

Qualquer IPv4 válido

\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\b

URLs ou IPv4

As 2 regex acima juntas

^(((h..ps?|f.p):\/\/)?(?:([\w\-\.])+(\[?\.\]?)([\w]){2,4}|(?:(?:25[0–5]|2[0–4]\d|[01]?\d\d?)\[?\.\]?){3}(?:25[0–5]|2[0–4]\d|[01]?\d\d?)))*([\w\/+=%&_\.~?\-]*)$

Regexs são poderosas

Dá pra se fazer quase tudo com regex, se você prefere aprender ao invés de só usar, escrevi um artigo que pode te ajudar: Como ser feliz usando Regex

Até breve