Foros del Web » Programando para Internet » PHP »

Expresion regular

Estas en el tema de Expresion regular en el foro de PHP en Foros del Web. Hola: Tengo que validar los datos de un form y quiero que cuando el usuario haya introducido datos incorrectos en un campo de este se ...
  #1 (permalink)  
Antiguo 15/11/2003, 08:05
 
Fecha de Ingreso: octubre-2003
Mensajes: 9
Antigüedad: 14 años, 2 meses
Puntos: 0
Expresion regular

Hola:
Tengo que validar los datos de un form y quiero que cuando el usuario haya introducido datos incorrectos en un campo de este se imprima un mensaje de error.

PHP:-----------------------------------

// Primero definamos con qué método se enviaron los datos
$Array = $_SERVER['REQUEST_METHOD']=="GET"?$_GET:$_POST;

/* VALIDAR DATOS */

$DataErrors = array(); // Errores- Inicializamos el array

$Pattern_Variable = "[[:alpha:]][^(0-9)]";
$String_Variable = $Array['variable'];
if (eregi($Pattern_Variable, $String_Variable)) {}
else {
$DataErrors["variable"] = "Variable solo puede contener letras";
print $DataErrors["variable"]; // Si hay errores se vuelve al form
}


PROBLEMA: Si se introducen letras y numeros no detecta los numeros pero si solo se introducen numeros si los detecta.

¿Cómo puedo hacerlo?
  #2 (permalink)  
Antiguo 17/11/2003, 07:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Yo usaría esta expresión regular:

Código PHP:
$Pattern_Variable ="^[A-Z]*$"
Sólo letras en tu cadena .. de la A a la Z .. tu función eregi() ya se encarga de que sean A-Z y a-z (osease, que no distinga entre mayusculas y minusculas)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 17/11/2003, 07:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tambien tienes funcioens simples tipo:

is_numeric() para ver si una cadena es "numérica" .. entre otras funciones de la série "is_xxxx()"

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:42.