cvs: pear /Validate/Validate ES.php
| From: | Tomas V.V.Cox | Date: | Fri, 07 Jun 2002 06:45:27 +0000 |
| Subject: | cvs: pear /Validate/Validate ES.php | ||
| Groups: | php.pear.cvs | ||
| Request: | Send a blank email to pear-cvs+get-4462@lists.php.net to get a copy of this message | ||
cox Fri Jun 7 02:45:27 2002 EDT
Added files:
/pear/Validate/Validate ES.php
Log:
Spanish validation routines (currently one DNI validation)
Index: pear/Validate/Validate/ES.php
+++ pear/Validate/Validate/ES.php
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP Version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt.
|
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Authors: Tomas V.V.Cox <cox@idecnet.com> |
// | |
// +----------------------------------------------------------------------+
//
// $Id: ES.php,v 1.1 2002/06/07 06:45:27 cox Exp $
//
// Specific validation methods for data used in Spain
//
require_once 'Validate.php';
class ValidateES
{
/**
* 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, VAL_NUM, 8, 8)) {
return false;
}
if (!Validate::string($letra, VAL_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;
}
}
?>