Skip to content

Instantly share code, notes, and snippets.

@reggiegutter
Created May 4, 2013 05:53
Show Gist options
  • Save reggiegutter/5516382 to your computer and use it in GitHub Desktop.
Save reggiegutter/5516382 to your computer and use it in GitHub Desktop.
Regular expression (Regex) para validar números de telefones celulares para o Brasil, incluindo os novos números de celulares para São Paulo - que agora possuem o número 9 no início da primeira seção após o DDD (Exemplo: (11) 92222-2222).
<?php
// Função para checar número de telefone
function phone_check($phone)
{
$exp_regular = '/^(\(11\) (9\d{4})-\d{4})|((\(1[2-9]{1}\)|\([2-9]{1}\d{1}\)) [5-9]\d{3}-\d{4})$/';
$ret = preg_match($exp_regular, $phone);
if($ret === 1)
{
echo 'Número de telefone válido';
return TRUE;
}
else
{
echo 'Número de telefone inválido';
return FALSE;
}
}
// Essa expressão é feita mais para telefones celulares.
// Você pode adicionar suporte para todos os números de telefone, ou criar outro regex com base nesse.
// Se alguém encontrar uma forma de melhorá-lo ou se alguma coisa estiver errada, favor informa!
// testes
preg_match($exp_regular, '(11) 92222-2222'); // OK
preg_match($exp_regular, '(12) 8222-2222'); // OK
preg_match($exp_regular, '(11) 82222-2222'); // NOT OK
preg_match($exp_regular, '(12) 92222-2222'); // NOT OK
preg_match($exp_regular, '(11) 3222-2222'); // NOT OK
// Espero ter ajudado!
// Abraço a todos!
?>
@Tocchettog1
Copy link

Boa tarde, criei esses dois Regex para telefone celular:

^\d{2}\9\d{4}\d{4}$
Este aceita somente os numeros (incluso DDD e 9 inicial).
EX: 51982316433

^(?\d{2})?\9\d{4}-?\d{4}$
Este aceita o telefone com ( ) e - .
EX: (51)98231-6433

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment