Foros del Web » Programando para Internet » PHP »

¿Problema con ereg?

Estas en el tema de ¿Problema con ereg? en el foro de PHP en Foros del Web. Hola. Estoy intentando la validacion nombre de un campo de formulario, tengo problema con esta funcion: Código PHP: if (! ereg ( "^[a-zA0-Z9]+$" , $_POST [ ...
  #1 (permalink)  
Antiguo 11/05/2009, 12:40
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Sonrisa ¿Problema con ereg?

Hola.

Estoy intentando la validacion nombre de un campo de formulario, tengo problema con esta funcion:

Código PHP:
if (!ereg("^[a-zA0-Z9]+$",$_POST[nombre])){ 
Esta funcion lo que me hace es que cuando escribes en el formulario un caracter extraño da error, pero si escribo Jose Manuel con espacion me reconoce el error y no deberia.

Porque en este campo solo se adimte nombre nada de numeros, caracteres extraños, y ect...

Haber que opinais si me podeis dar una solucion.

Saludos.
__________________
Cada día se aprende algo nuevo
  #2 (permalink)  
Antiguo 11/05/2009, 15:37
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: ¿Problema con ereg?

eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]",$palabra)

o

eregi('[^a-zA-Z0-9_]',$palabra)

saludines!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #3 (permalink)  
Antiguo 11/05/2009, 15:47
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: ¿Problema con ereg?

Hola de nuevo.

He estado probando los dos codigos y si detecta los caracteres extraños pero cuando va con un espacio.

Tambien se provoca el error como podemos decirle que los espacios no sean caracteres extraños.

Saludos.

Cita:
Iniciado por harvestmoon Ver Mensaje
eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]",$palabra)

o

eregi('[^a-zA-Z0-9_]',$palabra)

saludines!!
__________________
Cada día se aprende algo nuevo
  #4 (permalink)  
Antiguo 11/05/2009, 15:56
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: ¿Problema con ereg?

if(eregi("",$palabra))
{
//orden
}

no se me ocurre nada mas :(


http://www.forosdelweb.com/f18/reemp...eplace-634477/
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D

Última edición por harvestmoon; 11/05/2009 a las 16:01 Razón: espero te sirva
  #5 (permalink)  
Antiguo 11/05/2009, 16:02
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Entonces no me puedes ayudar!!

Ahora no me coge el error del espacion lo he conseguido con este pequueño script:

Código PHP:
if (!ereg("[a-zA0-Z9]$",$_POST[nombre])){ 
Y ahora necesito cuando sea mezcla de caracteres extraños con numeros que me lo detecte que funcion debo utilizar.

Saludos.


Cita:
Iniciado por harvestmoon Ver Mensaje
if(eregi("",$palabra))
{
//orden
}

no se me ocurre nada mas :(


http://www.forosdelweb.com/f18/reemp...eplace-634477/
He estado probando el script como mas profundidad y no funciona bien, porque cuando coloco los caracteres extraños despues de la letras me sale el error, cuando lo hago al reves coloco antes el caracter extraño y luego el texto no me sale el error.

Saludines!!
__________________
Cada día se aprende algo nuevo

Última edición por GatorV; 11/05/2009 a las 20:27
  #6 (permalink)  
Antiguo 11/05/2009, 20:04
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: ¿Problema con ereg?

Movido desde Prefabricadas.
  #7 (permalink)  
Antiguo 11/05/2009, 20:35
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ¿Problema con ereg?

Cita:
Esta funcion lo que me hace es que cuando escribes en el formulario un caracter extraño da error, pero si escribo Jose Manuel con espacion me reconoce el error y no deberia.
Claro que deberia, tu expresion regular dice:

Todo lo que NO SEA a-z, A-Z o 0-9. ¿Donde especificas el espacio?
Tambien me he dado cuenta de que lo estas poniendo mal:
if (!ereg("^[a-zA0-Z9]+$",$_POST[nombre])){
Dices: a-z, A0-Z, 9 ? ... ¿Que?
Es a-zA-Z0-9

Usa preg_match, y para el espacio usa \s.
  #8 (permalink)  
Antiguo 11/05/2009, 21:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Problema con ereg?

exacto, desde un comienzo estaba todo incorrecto... o bien, no del todo!

como Ronruby expone, la manera correcta es esta:

^ (comienzo)
a-zA-Z (letras)
0-9 (números)
\s (espacio)
$ (final)

lo demás, es obvio... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 12/05/2009, 02:02
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: ¿Problema con ereg?

Hola chicos.

Estoy probando vuestra manera pero me hace lo mismo como yo antes lo tenia puesto, cuando va el espacio me da error y he cambiado la linea:

Código PHP:
if (!ereg("^[a-zA-Z\s0-9]$",$_POST[nombre])){ 
A ver si me podeis echar una mano.

Saludos.
__________________
Cada día se aprende algo nuevo
  #10 (permalink)  
Antiguo 12/05/2009, 02:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Problema con ereg?

te falta poner un cuantificador...

porque así solo estas diciendo que sea un solo carácter del grupo, lee con atención los enlaces que te facilitaron...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 12/05/2009, 03:27
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Hola.

He estado probando lo que me dijistes le echando un par de vistazos, y he cambiado los valores, pero sigue igual que me detecta el espacio en blanco, es que son un poco novatillo en las funciones de validacion y no se que quiere decir pasar una expresion regular.

He colocado este codigo pero no funciona:

Código PHP:
if (!str_replace("\s(([0-9])\)""_c\\1",$_POST[nombre])){ 
Espero que me echen una mano.

Saludos.

Cita:
Iniciado por pateketrueke Ver Mensaje
te falta poner un cuantificador...

porque así solo estas diciendo que sea un solo carácter del grupo, lee con atención los enlaces que te facilitaron...
Hola.

Sigo dandole vueltas a la linea de codigo y he encontrado un codigo que cuando hay un espacio no me da error pero no me deja colocar todos los sibolos del teclado y en este me hace algo:

Código PHP:
if (ereg("^[\ºª!|@·#$~]+$",$_POST[nombre])){ 
Y este de abajo no me funciona como el de arriba.

Código PHP:
if (ereg("^[ª\º!|·#$~%&¬/()=?'¿¡<>;,:._-´¨{Çç}^`[*+*]+$",$_POST[nombre])){ 
Que opinais.

Echarme porfavor una mano.

Saludos.
__________________
Cada día se aprende algo nuevo

Última edición por GatorV; 12/05/2009 a las 13:55
  #12 (permalink)  
Antiguo 12/05/2009, 07:39
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: ¿Problema con ereg?

Cita:
^ (comienzo)
a-zA-Z (letras)
0-9 (números)
\s (espacio)
$ (final)
ya te explicaron como va el espacio
intenta de esta manera saludos
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #13 (permalink)  
Antiguo 12/05/2009, 07:58
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: ¿Problema con ereg?

Lo he probado un monton de veces pero me da error cuando va un espacio por ejemplo Jose Mamita.

Código PHP:
if (!ereg("^\s[a-zA-Z0-9]$",$_POST[nombre])){ 
Código PHP:
if (!ereg("^[a-zA-Z\s0-9]$",$_POST[nombre])){ 
Código PHP:
if (!ereg("^[a-zA-Z0-9]\s$",$_POST[nombre])){ 
No se podria colocar el codigo de otra manera para que que la aplicacion se entere del codigo:

Por ejemplo:!"·$$%&

Saludos.

Cita:
Iniciado por harvestmoon Ver Mensaje
ya te explicaron como va el espacio
intenta de esta manera saludos
__________________
Cada día se aprende algo nuevo
  #14 (permalink)  
Antiguo 12/05/2009, 08:12
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: ¿Problema con ereg?

http://www.forosdelweb.com/f18/reemp...eplace-634477/



http://www.forosdelweb.com/f18/duda-..._match-561104/

saludines
PD : ahora no es necesario q me mandes mensajitos jeje estoy pendiente de tus temas saludines!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #15 (permalink)  
Antiguo 12/05/2009, 08:19
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ¿Problema con ereg?

Cita:
^\s[a-zA-Z0-9]$
Esa expresion regular solo da verdadero cuando la cadena es un espacio en blanco, seguido de 1 (si, uno solito) caracter alfanumerico.

Cita:
^[a-zA-Z\s0-9]$
Esta está bien, pero solo acepta 1 solo caracter alfanumerico o un espacio en blanco. Tienes que pasarle un cuantificador, para que sea 1 o mas caracteres alfanumericos. El signo de + hace el trabajo.

Cita:
^[a-zA-Z0-9\s]+$
Referencia:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
  #16 (permalink)  
Antiguo 12/05/2009, 08:38
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Hola.

He mirado los enlaces del foro del web y he revisado mas que el tema, pero en http://www.forosdelweb.com/f18/reemp...eplace-634477/ da error en la funcion ereg.

Y en http://www.forosdelweb.com/f18/duda-..._match-561104/ el segundo codigo no funciona ni sale ningun error PHP pero el codigo es como no hiciera nada.


Código PHP:
if (!preg_match("/[a-z]||[A-Z]||á||é||í|ó||ú||ñ||ü||\@|\*||\+/",$_POST[nombre])){ 
Saludos.

Hola.

He probado la tres lineas de codigo y me hace lo mismo con el codigo anterior con el espacio en blanco me da el error.

Código PHP:
if (!ereg("^\s[a-zA-Z0-9]$",$_POST[nombre])){ 
Como puedo solucionar esto.

Saludos.

Cita:
Iniciado por Ronruby Ver Mensaje
Esa expresion regular solo da verdadero cuando la cadena es un espacio en blanco, seguido de 1 (si, uno solito) caracter alfanumerico.


Esta está bien, pero solo acepta 1 solo caracter alfanumerico o un espacio en blanco. Tienes que pasarle un cuantificador, para que sea 1 o mas caracteres alfanumericos. El signo de + hace el trabajo.



Referencia:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
Hola.

Enhorabuena ahora si el espacio en blanco no lo detecta pero tengo el siguiente problema si introduzco simbolos extraños me lo tendria que detectar.

Mi linea de codigo:

Código PHP:
if (ereg("^\s[a-zA-Z0-9]$",$_POST[nombre])){ 
Saludos.

Cita:
Iniciado por Ronruby Ver Mensaje
Esa expresion regular solo da verdadero cuando la cadena es un espacio en blanco, seguido de 1 (si, uno solito) caracter alfanumerico.


Esta está bien, pero solo acepta 1 solo caracter alfanumerico o un espacio en blanco. Tienes que pasarle un cuantificador, para que sea 1 o mas caracteres alfanumericos. El signo de + hace el trabajo.



Referencia:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
Hola.

Estoy buscando en esta pagina http://www.forosdelweb.com/f18/probl...s-pcre-646110/ lo del cuantificador y no entiendo mucho lo que tengo que colocar en mi codigo, si lo que quiero que cuando se introduzca un caracter extraño que me lo detecte salvo los espacios de teclado.

A ver si me puedes echar una mano.

Saludines!!

Cita:
Iniciado por harvestmoon Ver Mensaje
http://www.forosdelweb.com/f18/reemp...eplace-634477/



http://www.forosdelweb.com/f18/duda-..._match-561104/

saludines
PD : ahora no es necesario q me mandes mensajitos jeje estoy pendiente de tus temas saludines!!
__________________
Cada día se aprende algo nuevo

Última edición por GatorV; 12/05/2009 a las 13:56
  #17 (permalink)  
Antiguo 12/05/2009, 14:00
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ¿Problema con ereg?

Te di la expresión regular en mi otro mensaje:
^[a-zA-Z0-9\s]+$
  #18 (permalink)  
Antiguo 13/05/2009, 07:03
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: ¿Problema con ereg?

Hola Ronruby y Adell.

Esta linea de codigo lo que me hace cuando escribo solo Juan me detecta el error de datos de carateres extraños, eso no deberia ser asi para mi aplicacion, pero cuando escribo juan pepito no seguido con un espacio en el medio entre los nombres no me da el error y lleva ese espacio.



Código PHP:
if (ereg("^[a-zA-Z0-9\s]+$",$_POST[nombre])){ 
Esta linea de codigo de abajo me hace al contrario que cuando escribo solo Juan no me da error de carateres extraños y cuando va con un nombre como Juan Pepito con un espacio entre los nombres me da ese error de caracteres extraños.
Como he dicho antes al contrario.


Código PHP:
if (!ereg("^[a-zA-Z0-9\s]+$",$_POST[nombre])){ 
Estado haciendo modificaciones respecto a esta linea de codigo y me hace lo siguiente:


Código PHP:
if (!ereg("^[ a-zA-Z0-9\s]+$",$_POST[nombre])){ 
Esta linea de codigo me lo hace bien pero no del todo:

Si escribo solo Juan no me da el error de caracteres extraños y si escribo Juan Pepito tampoco pero tengo un problema que lo voy a mencionar lo siguiente:

1. No me tiene que dar error cuando escriba Juan o Juan Pepito o Juan Pepito Gomez hasta ahi lo hace bien perfectamente.

2. Si le damos un espacio al principio antes del nombre y luego escribo Juan o Juan Pepito me tendria que dar error de caracteres extraños pero no lo hace, lo mismo que si escribo Juan Pepito con dos o mas espacios entre medias de los nombres tambien quiero que me de error de caracteres extraños.

Y ultimo si escribo al principio no solo un espacio o muchos mas que me error de caracteres extraños.

Nota:Ahora de momento lo tengo ya conseguido y una cosa cuando escribo esto Jua() o Juan Perpito)()( si me da el error de caracteres extraños.

Estoy muy agradecido por su ayuda.

Saludos.
__________________
Cada día se aprende algo nuevo

Última edición por TIFORO; 13/05/2009 a las 10:28
  #19 (permalink)  
Antiguo 13/05/2009, 10:16
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
hola TIFORO las respuestas que te dieron te deberian solucionar los problemas pero que signos son exactamente los que queres sacar?

saludos

Cita:
2. Si le damos un espacio al principio antes del nombre y luego escribo Juan o Juan Pepito me tendria que dar error de caracteres extraños pero no lo hace, lo mismo que si escribo Juan Pepito con dos o mas espacios entre medias de los nombres tambien quiero que me de error de caracteres extraños.
veamos una cosa, segun tu expresion regular el espacio no es un caracter extraño, por ma que pongas uno o mas espacios lo va a seguiir sin detectar.
Segundo lo de los espacios se puede arreglar con la funcion trim si estan al principio o al final, en cuanto a los epacios dobles o mayores hay que crear una funcion propia

saludos

Última edición por GatorV; 13/05/2009 a las 13:11
  #20 (permalink)  
Antiguo 13/05/2009, 16:54
 
Fecha de Ingreso: junio-2008
Ubicación: Madrid
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: ¿Problema con ereg?

Yo por mi este tema esta cerrado porque al final con el tiempo lo arreglare, asi lo dejo de manera mas sencilla, me conformo como lo he dejado para entrar ya en materia muy compleja ya tendre tiempo, y quiero agradeceros a todos por vuestra ayuda y me voy a ir de una temporada del foro por causas ajenas.

Saludos.
__________________
Cada día se aprende algo nuevo

Última edición por TIFORO; 13/05/2009 a las 17:08
  #21 (permalink)  
Antiguo 13/05/2009, 17:15
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: ¿Problema con ereg?

no!! y ahora kien me va a dejar mensajitos :(
bueno pues cuidate TIFORO un placer conocerle
SALUDINES!!!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
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 14:25.