fork(3) download
  1. <?php
  2.  
  3. function validarCelular($celular)
  4. {
  5. static $regex;
  6.  
  7. if ($regex === null) {
  8. //Coloquei em um array para identificar melhor
  9. $ddds = implode('|', array(
  10. 11, 12, 13, 14, 15, 16, 17, 18, 19,
  11. 21, 22, 24, 27, 28,
  12. 91, 92, 93, 94, 95,
  13. 81, 82, 83, 84, 85, 86, 87,
  14. 31, 32, 33, 34, 35, 37, 38,
  15. 71, 73, 74, 75, 77, 79,
  16. 61, 62, 63, 64, 65, 66, 67, 68, 69,
  17. 49, 51, 53, 54, 55
  18. ));
  19.  
  20. //Gera a regex
  21. $regex = '#^(\((' . $ddds . ')\) 9|\((?!' . $ddds . ')\d{2}\) )[6789]\d{3}-\d{4}$#';
  22. }
  23.  
  24. return preg_match($regex, $celular) > 0;
  25. }
  26.  
  27. var_dump( validarCelular('(21) 96000-0000') );
  28. var_dump( validarCelular('(21) 6000-0000') );
  29. var_dump( validarCelular('(10) 6000-0000') );
  30. var_dump( validarCelular('(10) 96000-0000') );
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
bool(true)
bool(false)
bool(true)
bool(false)