55 public static function comprobarAlfabetico($cadena, $maxTamanio = 1000, $minTamanio = 1, $obligatorio = 0) {
57 $patron_texto =
"/^[a-zA-ZáéíóúÁÉÍÓÚäëïöüÄËÏÖÜàèìòùÀÈÌÒÙñÑ\s]+$/";
58 $cadena = htmlspecialchars(strip_tags(trim((
string) $cadena)));
62 if ($obligatorio == 1) {
67 if (!preg_match($patron_texto, $cadena) && !empty($cadena)) {
68 $mensajeError =
" Solo se admiten letras.";
95 $cadena = htmlspecialchars(strip_tags(trim((
string) $cadena)));
98 if ($obligatorio == 1 && $cadena !=
'0') {
103 return $mensajeError;
124 public static function comprobarEntero($integer, $max = PHP_INT_MAX, $min = -PHP_INT_MAX, $obligatorio = 0) {
125 $mensajeError =
null;
127 if ($obligatorio == 1 && $integer !=
'0') {
131 if (($obligatorio == 0 && $integer !=
null) || ($obligatorio == 1 && empty($mensajeError))) {
132 $integer = str_replace(
'.',
',', $integer);
133 if (!is_numeric($integer)) {
134 $mensajeError =
"El campo no es un entero. ";
136 if ($integer > $max) {
137 $mensajeError = $mensajeError .
"El número no puede ser mayor que " . $max .
".";
139 if ($integer < $min) {
140 $mensajeError = $mensajeError .
"El número no puede ser menor que " . $min .
".";
145 return $mensajeError;
165 public static function comprobarFloat($float, $max = PHP_FLOAT_MAX, $min = -PHP_FLOAT_MAX, $obligatorio = 0) {
166 $mensajeError =
null;
167 if ($obligatorio == 1 && $float !=
'0') {
171 if (($obligatorio == 0 && $float !=
null) || ($obligatorio == 1 && empty($mensajeError))) {
172 if (!is_numeric($float)) {
173 $mensajeError =
"El campo no es un decimal. (Debe llevar punto(.) entre la parte entera y la parte decimal)";
176 $mensajeError = $mensajeError .
"El número no puede ser mayor que " . $max .
".";
179 $mensajeError = $mensajeError .
"El número no puede ser menor que " . $min .
".";
183 return $mensajeError;
204 $mensajeError =
null;
207 if ($obligatorio == 1) {
212 if (!filter_var($email, FILTER_VALIDATE_EMAIL) && !empty($email)) {
213 $mensajeError =
" Formato de correo incorrecto(Ejemplo: tunombre@hotmail.com).";
215 return $mensajeError;
233 $mensajeError =
null;
234 if ($obligatorio == 1) {
237 if (!filter_var($url, FILTER_VALIDATE_URL) && !empty($url)) {
238 $mensajeError =
"Formato incorrecto de URL.";
240 return $mensajeError;
254 public static function validarFecha($fecha, $fechaMaxima =
'01/01/2200', $fechaMinima =
"01/01/1900", $obligatorio = 0) {
255 $mensajeError =
null;
256 $fechaMaxima = strtotime($fechaMaxima);
257 $fechaMinima = strtotime($fechaMinima);
258 if ($obligatorio == 1) {
261 $fechaFormateada = strtotime($fecha);
263 if (is_bool($fechaFormateada) && !empty($fecha)) {
264 $mensajeError =
" Formato incorrecto de fecha (Año-Mes-dia) (2000-01-01).";
266 if (!empty($fecha) && ($fechaFormateada < $fechaMinima) || ($fechaFormateada > $fechaMaxima)) {
267 $mensajeError =
" Por favor introduzca una fecha entre " . date(
'd/m/Y', $fechaMinima) .
" y " . date(
'd/m/Y', $fechaMaxima) .
".";
270 return $mensajeError;
285 $mensajeError =
null;
286 $letra = substr($dni, -1);
287 $numeros = substr($dni, 0, -1);
288 if ($obligatorio == 1) {
291 if (!is_numeric($letra) && is_numeric($numeros)) {
292 if ((substr(
"TRWAGMYFPDXBNJZSQVHLCKE", $numeros % 23, 1) != $letra || strlen($letra) != 1 || strlen($numeros) != 8) && !empty($dni)) {
293 $mensajeError =
" El DNI no es válido.";
297 $mensajeError =
" El DNI no es válido.";
300 return $mensajeError;
316 public static function validarCp($cp, $obligatorio = 0) {
317 $mensajeError =
null;
318 if ($obligatorio == 1) {
322 if (!preg_match(
'/^[0-9]{5}$/i', $cp) && !empty($cp)) {
323 $mensajeError =
" El código postal no es válido.";
325 return $mensajeError;
345 public static function validarPassword($passwd, $maximo = 16, $minimo = 2, $tipo = 3, $obligatorio = 1) {
346 $mensajeError =
null;
347 if ($obligatorio == 1) {
350 if (strlen($passwd) < $minimo && !empty($passwd)) {
351 $mensajeError =
" La contraseña debe ser de al menos " . $minimo .
" caracteres.";
353 if (strlen($passwd) > $maximo && !empty($passwd)) {
354 $mensajeError =
" La contraseña debe tener como maximo " . $maximo .
" caracteres.";
356 if (!empty($passwd) && $mensajeError ==
null) {
365 if ((!preg_match(
"`[A-Z]`", $passwd) || !preg_match(
"`[0-9]`", $passwd)) && !empty($passwd)) {
366 $mensajeError .=
" La contraseña debe contener una mayúscula y un número.";
372 return $mensajeError;
392 $mensajeError =
null;
393 $cadena = htmlspecialchars(strip_tags(trim($cadena)));
395 if (empty($cadena)) {
396 $mensajeError =
" Campo vacío.";
398 return $mensajeError;
418 $mensajeError =
null;
419 if (strlen($cadena) > $tamanio) {
420 $mensajeError =
" El tamaño máximo es de " . $tamanio .
" caracteres.";
422 return $mensajeError;
442 $mensajeError =
null;
443 if (strlen($cadena) < $tamanio && strlen($cadena) > 0) {
444 $mensajeError =
" El tamaño mínimo es de " . $tamanio .
" caracteres.";
446 return $mensajeError;
460 $mensajeError =
null;
462 if (!in_array($elementoElegido, $aOpciones)) {
463 $mensajeError =
" El elemento no se encuentra entre los posibles valores.";
465 return $mensajeError;
483 $mensajeError =
null;
484 $patron =
"/^[6|7|9][0-9]{8}$/";
485 if ($obligatorio == 1) {
488 if (!preg_match($patron, $tel) && !empty($tel)) {
489 $mensajeError .=
" El telefono debe comenzar por 6,7 o 9 y a continuación 8 dígitos del 0 al 9.";
491 return $mensajeError;
508 public static function validarNombreArchivo($nombreArchivo, $aExtensiones, $maxTamanio = 150, $minTamanio = 4, $obligatorio = 0) {
517 if(!empty($nombreArchivo)){
518 $sExtension = substr($nombreArchivo, strpos($nombreArchivo,
'.') + 1);
519 if (!in_array($sExtension, $aExtensiones)) {
520 $mensajeError =
"El archivo no tiene una extensión válida. Sólo se admite ".implode(
', ', $aExtensiones).
".";
523 return $mensajeError;