
SnwMds
(usa Debian)
Enviado em 10/11/2019 - 22:56h
Mauriciodez escreveu:
Pessoas ... tem como fazer regex para validar telefone fixo ou celular ??
seria assim ?
[0-9]{10}||[0-9]{11}
OBS: essa validação é para um input [pattern] no html5
Sua expressão funciona para sequências simples de números, mas é bem limitada em certos aspectos. Dê uma olhada na expressão regular abaixo:
^(?:\+55)?\s?\(?0?[1-9][1-9]\)?\s?(?:9)?\s?\d{4}\-?\d{4}$
Explicação
A expressão regular acima irá dar "match" em números como:
+55 21 9 9999-9999 # Sequência com: espaços, código do país, nono dígito (celular) e um hífen "-"
+55 (21) 9 9999-9999 # Sequência com espaços: parênteses "()", código do país, nono dígito (celular) e um hífen "-"
21999999999 # Sequência sem: espaços, parênteses "()", código do país e/ou hífen "-"
Outros exemplos de match:
219999-9999
2199999999
1199999999
A expressão regular acima
NÃO irá dar "match" em:
* Números cujo o DDD é inferior a 11
* Números cujo o DDD é superior a 99
* Números cujo o DDD possui menos ou mais que 2 dígitos
* Números cujo o DDD possui mais que 2 dígitos
* Números que possuem menos ou mais que 8 dígitos (isso não inclui o código do país, DDD e/ou o nono dígito)
* Números sem DDD