* * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo * sob os termos da Licença Pública Geral GNU conforme publicada pela Free * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) * qualquer versão posterior. * * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral * do GNU para mais detalhes. * * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto * com este programa; se não, escreva para a Free Software Foundation, Inc., no * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. * * @author Lucas D'Avila * @category i-Educar * @license @@license@@ * @package Portabilis * @since Arquivo disponível desde a versão 1.1.0 * @version $Id$ */ require_once 'lib/Portabilis/Utils/User.php'; /** * Portabilis_Utils_Validation class. * * @author Lucas D'Avila * @category i-Educar * @license @@license@@ * @package Portabilis * @since Classe disponível desde a versão 1.1.0 * @version @@package_version@@ */ class Portabilis_Utils_Validation { public static function validatesCpf($cpf) { $cpf = preg_replace('/[^0-9]/', '', (string)$cpf); if (strlen($cpf) != 11) return false; // calcula primeiro dígito verificador $soma = 0; for ($i = 0; $i < 9; $i++) $soma += ((10 - $i) * $cpf[$i]); $primeiroDigito = 11 - ($soma % 11); if ($primeiroDigito >= 10) $primeiroDigito = 0; // calcula segundo dígito verificador $soma = 0; for ($i = 0; $i < 10; $i++) $soma += ((11 - $i) * $cpf[$i]); $segundoDigito = 11 - ($soma % 11); if ($segundoDigito >= 10) $segundoDigito = 0; return ($primeiroDigito == $cpf[9] && $segundoDigito == $cpf[10]); } }