| // +----------------------------------------------------------------------+ // // $Id$ // // Specific validation methods for data used in Spain // require_once('Validate.php'); class Validate_ES { /** * Valida un DNI Espaņol (el dni tiene que ser de la forma 11111111X) * * @param string $dni El Documento Nacional de Indentidad a chequear * @return bool */ function dni($dni) { $letra = substr($dni, -1); $number = substr($dni, 0, -1); if (!Validate::string($number, VALIDATE_NUM, 8, 8)) { return false; } if (!Validate::string($letra, VALIDATE_ALPHA)) { return false; } // El resto entero de la division del numero del dni/23 +1 // es la posicion de la letra en la cadena $string $string = 'TRWAGMYFPDXBNJZSQVHLCKET'; // ver la letra de un numero if ($letra == $string{$number % 23}) { return true; } return false; } } ?>