Foros del Web » Programando para Internet » PHP »

Problema con validacion

Estas en el tema de Problema con validacion en el foro de PHP en Foros del Web. Hola amigos estoy validando el texto que me manda el campo de un formulario y me da el siguiente error Warning: REG_ERANGE: in C:\FoxServ\www\infocomputer\contactenos.php on ...
  #1 (permalink)  
Antiguo 09/01/2003, 11:05
Avatar de neoven  
Fecha de Ingreso: enero-2002
Ubicación: La red
Mensajes: 207
Antigüedad: 22 años, 3 meses
Puntos: 0
Problema con validacion

Hola amigos estoy validando el texto que me manda el campo de un formulario y me da el siguiente error

Warning: REG_ERANGE: in C:\FoxServ\www\infocomputer\contactenos.php on line 126

en la linea 126 tengo la validacion del campo de la siguiente manera

Código PHP:
if (!ereg("[a-Z]",$_POST['Nombres']))
$respuestaNombres "Debe introducir solo letras"
  #2 (permalink)  
Antiguo 09/01/2003, 11:17
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
No lo garantizo pero...

Cita:
Mensaje Original por neoven
Código PHP:
if (!ereg("[a-Z]",$_POST['Nombres']))
$respuestaNombres "Debe introducir solo letras"
[/B]
en términos de rango ASCII a esta despues que Z, quizá sea ese el problema, prueba a separar mayusculas de minusculas o a colocarlo asi: "[A-z]"
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #3 (permalink)  
Antiguo 09/01/2003, 11:19
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 22 años, 6 meses
Puntos: 6
Código PHP:
if (!ereg("[a-Z]",$_POST['Nombres'])) 
El problema esta en el rango que le estas dando, lo correcto puede ser asi:
Código PHP:
if (!ereg("[a-zA-Z]",$_POST['Nombres'])) 
o
Código PHP:
if (!ereg("[[:alpha:]]",$_POST['Nombres'])) 
  #4 (permalink)  
Antiguo 09/01/2003, 11:36
Avatar de neoven  
Fecha de Ingreso: enero-2002
Ubicación: La red
Mensajes: 207
Antigüedad: 22 años, 3 meses
Puntos: 0
Gracias ya lo resolvi eso poniendo como dice herminio

Código PHP:
if (!ereg("[a-zA-Z]",$_POST['Nombres']))
$respuestaNombres "Debe introducir solo letras"
pero ahora solo valida la primera letra osea que si alguien coloca pedr1 no produce error como puedo hacer que me valide todo el campo e igual con numeros gracias
  #5 (permalink)  
Antiguo 09/01/2003, 11:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Seria:

Código PHP:
if (!ereg("^[a-zA-Z]*$",$_POST['Nombres']))
$respuestaNombres "Debe introducir solo letras"
y con eregi() (q no distinge entre mayusculas y minusculas) deberia funcionar como lo tenias antes + el detalle de ^*$ ...(yo lo uso)

Código PHP:
if (!eregi("^[a-z]*$",$_POST['Nombres']))
$respuestaNombres "Debe introducir solo letras"
Y un manual de expresiones regulares aplicadas a PHP:
http://www.phpbuilder.com/columns/dario19990616.php3

Un saludo,
  #6 (permalink)  
Antiguo 10/01/2003, 08:39
Avatar de neoven  
Fecha de Ingreso: enero-2002
Ubicación: La red
Mensajes: 207
Antigüedad: 22 años, 3 meses
Puntos: 0
Gracias cluster, ahora lo que quiero es validor un campo de nombres el cual debido a que la mayoria de las personas tienen mas de uno debe contener un espacio y lo hice de la siguiente forma:
Código PHP:
if (!eregi("^[a-z[:space:]]*$",$_POST['Nombres']))
$respuestaNombres "Debe introducir solo letras"
el problema de esto es que si el usuario introduce un espacio al principio o al final de sus nombres igual me lo acepta y yo solo quiero que me acepte un espacio entre los dos nombres. Se tambien que hay unas funciones que eliminan los espacios en blanco al principio y al final de las variables pero quisiera saber como lo puedo hacer con ereg y que halla solo un espacio entre los dos nombres.
  #7 (permalink)  
Antiguo 10/01/2003, 09:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Yo tanto no le pego a las Exp. Regulares .. en ese caso que mencionas uso esa expresion regular y le hago un trim() para quitar espacios de mas y saltos de linea de mas al principio y final .. no será lo mas óptimo pero lo q es ahora no se más de Exp. regulares ..

Ya puestos .. acuerdate de los acentos, dieresis y demas signos gramaticales que pueden existir ...

"^[a-z ñ.áéíóúäëïöü\'-]*$"

Yo uso esta exp. regular .. ahí incluyo vocales acentuadas y dieresis y la ñ de nuestro querido castellano xD .. tambien apostrofe para los Mc'Donals xD .. y el guión para los Mac-Kay ... Tambien si quieres añade el & por si son nombres comerciales de Pepito & Pepes .. Y el espacio tambien está incluido .. solo q sin su [codigo] ... etc etc ..

Un saludo,

Última edición por Cluster; 10/01/2003 a las 09:50
  #8 (permalink)  
Antiguo 10/01/2003, 09:55
Avatar de neoven  
Fecha de Ingreso: enero-2002
Ubicación: La red
Mensajes: 207
Antigüedad: 22 años, 3 meses
Puntos: 0
Muchas gracias por tu ayuda cluster
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

SíEste tema le ha gustado a 1 personas




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